﻿<?xml version="1.0" encoding="utf-8"?>
<doc>
  <assembly>
    <name>Devart.Data.Oracle</name>
    <version>7.0.27.0</version>
    <fullname>Devart.Data.Oracle, Version=7.0.27.0, Culture=neutral, PublicKeyToken=09af7300eec23701</fullname>
  </assembly>
  <members>
    <member name="N:Devart.Common">
      <summary>The <see cref="N:Devart.Common" /> namespace contains classes shared by the Devart data providers. </summary>
    </member>
    <member name="T:Devart.Common.DbConnectionBase">
      <summary>Represents an open connection to a server. </summary>
      <remarks>The abstract <see cref="T:Devart.Common.DbConnectionBase" /> class implements some of <see cref="T:Devart.Common.DbConnection" /> functionality that is DBMS-independent. </remarks>
      <example>The following sample demonstrates how using base classes helps to create database independent code. <code lang="csharp">public void PrintDept(DbConnectionBase myConnection) {
	DbCommandBase myCommand = (DbCommandBase)myConnection.CreateCommand();
	myCommand.CommandText = "SELECT * FROM Test.Dept";
	myConnection.Open();
	DbDataReader myReader = myCommand.ExecuteReader();
	try {
		while (myReader.Read()) {
			Console.WriteLine(myReader.GetInt32(0) + " " + 
				myReader.GetString(1) + " " + myReader.GetString(2));
		}
	}
	finally {
		myReader.Close();
		myConnection.Close();
	}
} </code><code lang="vb">Public Sub PrintDept(ByVal myConnection As DbConnectionBase)
	Dim myCommand As DbCommandBase = myConnection.CreateCommand()
	myCommand.CommandText = "SELECT * FROM Test.Dept"
	myConnection.Open()
	Dim myReader As DbDataReader = myCommand.ExecuteReader()
	Try
		While myReader.Read()
			Console.WriteLine(String.Concat(myReader.GetInt32(0), " ", _
				myReader.GetString(1), " ", myReader.GetString(2)))
		End While
	Finally
		myReader.Close()
		myConnection.Close()
	End Try
End Sub </code></example>
      <seealso cref="T:Devart.Common.DbConnection" />
      <seealso cref="T:Devart.Data.Oracle.OracleConnection" />
    </member>
    <member name="M:Devart.Common.DbConnectionBase.BeginOpen(System.AsyncCallback,System.Object)">
      <summary>Starts an asynchronous invocation of an <see cref="M:Devart.Common.DbConnectionBase.Open" /> method. </summary>
      <remarks>
        <para>
          <see cref="M:Devart.Common.DbConnectionBase.BeginOpen" /> method enables you to open a connection to server without having current thread blocked. In other words, your program can continue execution while the connection is establishing so you do not have to wait for it.</para>
        <para>To start opening a connection, you have to call <see cref="M:Devart.Common.DbConnectionBase.BeginOpen" /> method, which in turn invokes appropriate actions in another thread. Return value of this method must be assigned to <see cref="T:System.IAsyncResult" /> object. After executing this method program flow continues.</para>
        <para>When you are ready to use the connection, call <see cref="M:Devart.Common.DbConnectionBase.EndOpen" />. If at the moment you call this method the negotiation process has not yet been finished, application stops and waits till the function returns which means that the connection is open.</para>
        <para>Refer to <a href="Asynchronous.html">"Asynchronous Query Execution"</a> article for detailed information.</para> </remarks>
      <example>This sample shows how to implement asynchronous opening of a connection. <code lang="csharp">public void AsyncOpen(DbConnectionBase myConnection)
{
  IAsyncResult myAsyncResult = myConnection.BeginOpen(null, null);
  DbCommandBase myCommand = (DbCommandBase)myConnection.CreateCommand();
  myCommand.CommandText = "INSERT INTO Test.Dept(DeptNo, DName) Values('100', 'DEVELOPMENT')";
  //some operations here
  myConnection.EndOpen(myAsyncResult);
  try
  {
    myCommand.ExecuteNonQuery();
  }
  finally
  {
    myConnection.Close();
  }
} </code><code lang="vb">Public Sub AsyncOpen(ByVal myConnection As DbConnectionBase)
  Dim myAsyncResult As IAsyncResult = myConnection.BeginOpen(Nothing, Nothing)
  Dim myCommand As DbCommandBase = myConnection.CreateCommand()
  myCommand.CommandText = "INSERT INTO Test.Dept(DeptNo, DName) Values('110', 'QA')"
  ' some operations here
  myConnection.EndOpen(myAsyncResult)
  Try
    myCommand.ExecuteNonQuery()
  Finally
    myConnection.Close()
  End Try
End Sub </code></example>
      <keywords>DbConnectionBase.BeginOpen method </keywords>
      <param name="callback">The delegate to call when the asynchronous invoke is complete. If callback is a null reference (Nothing in Visual Basic), the delegate is not called. </param>
      <param name="stateObject">State information that is passed on to the delegate. </param>
      <returns>An <see cref="T:System.IAsyncResult" /> interface that represents the asynchronous operation started by calling this method. </returns>
    </member>
    <member name="M:Devart.Common.DbConnectionBase.ChangeDatabase(System.String)">
      <summary>Changes the current database associated with an open <see cref="T:Devart.Common.DbConnectionBase" />. </summary>
      <remarks>This method is not used in dotConnect for Oracle. </remarks>
      <keywords>DbConnectionBase.ChangeDatabase method </keywords>
      <param name="value">The database name. </param>
    </member>
    <member name="M:Devart.Common.DbConnectionBase.Close()">
      <summary>Closes the connection to the database. This is the preferred method of closing any open connection. </summary>
      <remarks>The <see cref="M:Devart.Common.DbConnectionBase.Close()" /> method rolls back any pending transactions. It then releases the connection to the connection pool, or closes the connection if connection pooling is disabled. 
<para>Note that you must manually close all connections opened by the application. If a <see cref="T:Devart.Common.DbConnectionBase" /> goes out of scope, it is not closed automatically till the application shuts down.</para><para>An application can call <see cref="M:Devart.Common.DbConnectionBase.Close()" /> more than one time without generating an exception.</para> </remarks>
      <keywords>DbConnectionBase.Close method </keywords>
    </member>
    <member name="P:Devart.Common.DbConnectionBase.ConnectionString">
      <summary>Gets or sets the string used to open a server connection. </summary>
      <remarks>
        <para>When <see cref="P:Devart.Common.DbConnectionBase.ConnectionString" /> property is assigned a value, connection closes. The connection string is parsed immediately after being set. If errors in syntax are found when parsing, a runtime exception, such as <see cref="T:System.ArgumentException" />, is generated. Other errors can be found only when an attempt is made to <see cref="M:Devart.Common.DbConnectionBase.Open()" /> the connection.</para>
        <para>The <see cref="P:Devart.Common.DbConnectionBase.ConnectionString" /> is similar to an OLE DB connection string. Values may be delimited by single or double quotes, (for example, name='value' or name="value"). Either single or double quotes may be used within a connection string by using the other delimiter, for example, name="value's" or name= 'value"s', but not name= 'value's' or name= ""value"". All blank characters, except those placed within a value or within quotes, are ignored. Keyword value pairs must be separated by a semicolon (;). If a semicolon is part of a value, it also must be delimited by quotes. No escape sequences are supported. The value type is irrelevant. Names are not case sensitive.</para>
        <para>If a given name occurs more than once in the connection string, the value associated with the last occurrence is used.</para> </remarks>
      <keywords>DbConnectionBase.ConnectionString property </keywords>
      <value>The connection string that includes the source database name, and other parameters needed to establish the initial connection. The default value is an empty string (""). </value>
    </member>
    <member name="P:Devart.Common.DbConnectionBase.ConnectionTimeout">
      <summary>Gets or sets the time to wait while trying to establish a connection before terminating the attempt and generating an error. </summary>
      <remarks>A value of 0 indicates no limit, and should be avoided in a <see cref="P:Devart.Common.DbConnectionBase.ConnectionString" /> because an attempt to connect will wait indefinitely. </remarks>
      <keywords>DbConnectionBase.ConnectionTimeout property </keywords>
      <value>The time (in seconds) to wait for a connection to open. The default value is 15 seconds. </value>
    </member>
    <member name="P:Devart.Common.DbConnectionBase.DataSource">
      <summary>Gets or sets name of the server to which to connect. </summary>
      <remarks>When a value is assigned to this property, the <see cref="T:Devart.Common.DbConnectionBase" /> is closed. </remarks>
      <keywords>DbConnectionBase.DataSource property </keywords>
      <value>Gets or sets name of the server to which to connect. The default value is an empty string (""). </value>
    </member>
    <member name="P:Devart.Common.DbConnectionBase.Database">
      <summary>Gets or sets the name of the current database or the database to be used once a connection is open. </summary>
      <remarks>This property is not used in dotConnect for Oracle. </remarks>
      <keywords>DbConnectionBase.Database property </keywords>
      <value>The name of the current database or the name of the database to be used once a connection is open. The default value is an empty string (""). </value>
    </member>
    <member name="P:Devart.Common.DbConnectionBase.DesignTimeVisible">
      <summary>Indicates whether the component is visible in design time. </summary>
      <remarks>Do not use this property. It is intended for internal purposes. </remarks>
      <keywords>DbConnectionBase.DesignTimeVisible property </keywords>
    </member>
    <member name="M:Devart.Common.DbConnectionBase.EndOpen(System.IAsyncResult)">
      <summary>Ends an asynchronous invocation of the <see cref="M:Devart.Common.DbConnectionBase.Open" /> method. </summary>
      <remarks>
        <para>
          <see cref="M:Devart.Common.DbConnectionBase.BeginOpen" /> method enables you to open a connection to server without having current thread blocked. In other words, your program can continue execution while the connection is establishing so you do not have to wait for it.</para>
        <para>To start opening a connection, you have to call <see cref="M:Devart.Common.DbConnectionBase.BeginOpen" /> method, which in turn invokes appropriate actions in another thread. Return value of this method must be assigned to <see cref="T:System.IAsyncResult" /> object. After executing this method program flow continues.</para>
        <para>When you are ready to use the connection, call <see cref="M:Devart.Common.DbConnectionBase.EndOpen" />. If at the moment you call this method the negotiation process has not yet been finished, application stops and waits till the function returns which means that the connection is open.</para>
        <para>Refer to <a href="Asynchronous.html">"Asynchronous Query Execution"</a> article for detailed information.</para> </remarks>
      <example>This sample shows how to implement asynchronous opening of a connection. <code lang="csharp">public void AsyncOpen(DbConnectionBase myConnection)
{
  IAsyncResult myAsyncResult = myConnection.BeginOpen(null, null);
  DbCommandBase myCommand = (DbCommandBase)myConnection.CreateCommand();
  myCommand.CommandText = "INSERT INTO Test.Dept(DeptNo, DName) Values('100', 'DEVELOPMENT')";
  //some operations here
  myConnection.EndOpen(myAsyncResult);
  try
  {
    myCommand.ExecuteNonQuery();
  }
  finally
  {
    myConnection.Close();
  }
} </code><code lang="vb">Public Sub AsyncOpen(ByVal myConnection As DbConnectionBase)
  Dim myAsyncResult As IAsyncResult = myConnection.BeginOpen(Nothing, Nothing)
  Dim myCommand As DbCommandBase = myConnection.CreateCommand()
  myCommand.CommandText = "INSERT INTO Test.Dept(DeptNo, DName) Values('110', 'QA')"
  ' some operations here
  myConnection.EndOpen(myAsyncResult)
  Try
    myCommand.ExecuteNonQuery()
  Finally
    myConnection.Close()
  End Try
End Sub </code></example>
      <keywords>DbConnectionBase.EndOpen method </keywords>
      <param name="result">The <see cref="T:System.IAsyncResult" /> returned from <see cref="M:Devart.Common.DbConnectionBase.BeginOpen" />. </param>
    </member>
    <member name="M:Devart.Common.DbConnectionBase.EnlistTransaction(System.Transactions.Transaction)">
      <summary>Enlists in the specified transaction. </summary>
      <remarks><para>Once a connection is explicitly enlisted in a distributed transaction, it cannot be unenlisted or enlisted in another transaction until the first transaction finishes.</para>
<para>This feature is not available in Direct mode.</para> </remarks>
      <example>These samples demonstrate usage of <see cref="M:Devart.Data.Oracle.OracleConnection.EnlistTransaction(System.Transactions.Transaction)" />. <code lang="csharp">OracleCommand1.Connection=OracleConnection1;
using (TransactionScope transScope = new TransactionScope()) {
 OracleConnection1.Open();
 OracleCommand1.ExecuteNonQuery();
 transScope.Complete();
}
OracleConnection1.Close();

- or -

OracleCommand1.Connection=OracleConnection1;
OracleConnection1.Open();
using (TransactionScope transScope = new TransactionScope()) {
 OracleConnection1.EnlistTransaction(Transaction.Current);
 OracleCommand1.ExecuteNonQuery();
 transScope.Complete();
}
OracleConnection1.Close();

- or -

CommittableTransaction cmtTx = new CommittableTransaction();
OracleConnection1.Open();
OracleConnection1.EnlistTransaction(cmtTx);
OracleCommand1.ExecuteNonQuery();
OracleConnection1.Close(); </code><code lang="vb">Me.OracleCommand1.Connection = Me.OracleConnection1
Using transScope = New Transactions.TransactionScope
  Me.OracleConnection1.Open()
  Me.OracleCommand1.ExecuteNonQuery()
  transScope.Complete()
End Using
Me.OracleConnection1.Close()

- or -

Me.OracleCommand1.Connection = Me.OracleConnection1
Me.OracleConnection1.Open()
Using transScope = New Transactions.TransactionScope
  Me.OracleConnection1.EnlistTransaction(Transactions.Transaction.Current)
  Me.OracleCommand1.ExecuteNonQuery()
  transScope.Complete()
End Using
Me.OracleConnection1.Close()

- or -

Dim cmtTx As New Transactions.CommittableTransaction
Me.OracleConnection1.Open()
Me.OracleConnection1.EnlistTransaction(cmtTx)
Me.OracleCommand1.ExecuteNonQuery()
Me.OracleConnection1.Close() </code></example>
      <keywords>DbConnectionBase.EnlistTransaction method </keywords>
      <param name="transaction">A reference to an existing <b>System.Transactions.Transaction</b> in which to enlist. </param>
    </member>
    <member name="M:Devart.Common.DbConnectionBase.GetSchema()">
      <summary>Returns list of metadata collections and number of restrictions for a collection. </summary>
      <remarks>Calling this method is actually same as calling <see cref="M:Devart.Common.DbConnectionBase.GetSchema(System.String)" /> method with parameter "MetaDataCollections". It allows to obtain information about names of the server schema elements. 
<para>Refer to <a href="MetaData.html">"Retrieving Metadata"</a> article for detailed information.</para> </remarks>
      <keywords>DbConnectionBase.GetSchema method </keywords>
      <returns>A <see cref="T:System.Data.DataTable" /> object. </returns>
      <overloads>Provides information about server schema objects. </overloads>
    </member>
    <member name="M:Devart.Common.DbConnectionBase.GetSchema(System.String)">
      <summary>Provides information about server schema objects. </summary>
      <remarks>
        <para>GetSchema with 1 argument returns general information about the collection queried. For example, GetSchema("Users") returns list of the users on the server. To get the list of collections, call the GetSchema method without parameters, or with single parameter "MetaDataCollections" (which is actually the same). The table object returned by the method will contain three columns. The first field of every row is a keyword allowed to pass to the method (as collectionName argument). The second field is number of restriction values for this keywords (passed through restrictionValues argument).</para>
        <para>Refer to <a href="MetaData.html">"Retrieving Metadata"</a> article for detailed information.</para> </remarks>
      <keywords>DbConnectionBase.GetSchema method </keywords>
      <param name="collectionName">Name of the collection to get information about. </param>
      <returns>A <see cref="T:System.Data.DataTable" /> object. </returns>
    </member>
    <member name="M:Devart.Common.DbConnectionBase.GetSchema(System.String,System.String[])">
      <summary>Returns detailed information about a server schema object. </summary>
      <remarks>GetSchema with 2 arguments returns detailed information about the collection or collection members. You can use wildcards in some cases to obtain information about several collection members.
<para>Refer to <a href="MetaData.html">"Retrieving Metadata"</a> article for detailed information.</para> </remarks>
      <keywords>DbConnectionBase.GetSchema method </keywords>
      <param name="collectionName">Name of the collection to get information about. </param>
      <param name="restrictionValues">Array of strings representing collection restrictions. In some cases last array members may be omitted. </param>
      <returns>A <see cref="T:System.Data.DataTable" /> object. </returns>
    </member>
    <member name="P:Devart.Common.DbConnectionBase.InDistributedTransaction">
      <summary>Indicates whether the connection is enlisted in a distributed transaction. </summary>
      <keywords>DbConnectionBase.InDistributedTransaction property </keywords>
      <value><see langword="true" /> if the connection is enlisted in a distributed transaction; otherwise, <see langword="false" />. </value>
    </member>
    <member name="P:Devart.Common.DbConnectionBase.Name">
      <summary>Gets or sets name of the component. </summary>
      <keywords>DbConnectionBase.Name property </keywords>
    </member>
    <member name="M:Devart.Common.DbConnectionBase.Open()">
      <summary>Opens a database connection with the property settings specified by the <see cref="P:Devart.Common.DbConnectionBase.ConnectionString" />. </summary>
      <remarks>The <see cref="T:Devart.Common.DbConnectionBase" /> draws an open connection from the connection pool if one is available. Otherwise, it establishes a new connection to the database.
<para>Note: If the <see cref="T:Devart.Common.DbConnectionBase" /> goes out of scope, the connection it represents does not close automatically. Therefore, you must explicitly close the connection by calling <see cref="M:Devart.Common.DbConnectionBase.Close" />.</para><para>
Opening an open connection does nothing.
</para> </remarks>
      <keywords>DbConnectionBase.Open method </keywords>
    </member>
    <member name="P:Devart.Common.DbConnectionBase.Owner">
      <summary>Gets or sets a form or other container that the <see cref="T:Devart.Common.DbConnectionBase" /> instance belongs to. </summary>
      <keywords>DbConnectionBase.Owner property </keywords>
      <value>A form or other container that the object belongs to. </value>
    </member>
    <member name="P:Devart.Common.DbConnectionBase.ServerVersion">
      <summary>Gets a string containing the version of the instance of the server to which the client is connected. </summary>
      <keywords>DbConnectionBase.ServerVersion property </keywords>
      <value>The version of the server instance. </value>
    </member>
    <member name="P:Devart.Common.DbConnectionBase.State">
      <summary>Gets the current state of the connection. </summary>
      <keywords>DbConnectionBase.State property </keywords>
      <value>A bitwise combination of the <see cref="T:System.Data.ConnectionState" /> values. The default value is Closed. </value>
    </member>
    <member name="E:Devart.Common.DbConnectionBase.StateChange">
      <summary>Occurs when the state of the connection changes. </summary>
      <remarks>The event handler receives an argument of type <see cref="T:System.Data.StateChangeEventArgs" /> containing data related to this event. The following <see cref="T:System.Data.StateChangeEventArgs" /> properties provide information specific to this event.
<list type="table"><listheader><term>Property</term><description>Description</description></listheader><item><term>CurrentState</term><description>Gets the new state of the connection. The connection object will be in the new state already when the event is fired.</description></item><item><term>OriginalState</term><description>Gets the original state of the connection.</description></item></list><para>The <see cref="E:Devart.Common.DbConnectionBase.StateChange" /> event is raised immediately after the <see cref="P:Devart.Common.DbConnectionBase.State" /> changes from Closed to Opened, or from Opened to Closed.</para><para>If an event handler throws an exception from within the <see cref="E:Devart.Common.DbConnectionBase.StateChange" /> event, the exception propagates to the caller of the <see cref="M:Devart.Common.DbConnectionBase.Open()" /> or <see cref="M:Devart.Common.DbConnectionBase.Close()" /> method.</para> </remarks>
      <keywords>DbConnectionBase.StateChange event </keywords>
    </member>
    <member name="E:Devart.Common.DbConnectionBase.TransactionStateChanged">
      <summary>Occurs when the state of the transaction is changed. </summary>
      <example>This sample demonstrates how to use the <see cref="E:Devart.Common.DbConnectionBase.TransactionStateChanged" /> and <see cref="E:Devart.Common.DbConnectionBase.TransactionStateChanging" /> events. <code lang="csharp">OracleConnection connection = new OracleConnection(
     "User Id=Scott;Password=tiger;Data Source=Ora");
     connection.TransactionStateChanged += new TransactionStateChangedEventHandler(connection_TransactionStateChanged);
     connection.TransactionStateChanging += new TransactionStateChangingEventHandler(connection_TransactionStateChanging);
     connection.Open();

     // ...
OracleTransaction tr = connection.BeginTransaction();
     // ...
     tr.Commit();
     // ...

void connection_TransactionStateChanging(object sender, TransactionStateChangingEventArgs e) {

	if (e.Action == TransactionAction.Commit) {
		// do somthing...
	}
}

void connection_TransactionStateChanged(object sender, TransactionStateChangedEventArgs e) {
     
	if (e.Action == TransactionAction.Commit) {
		// do somthing...
	}
} </code><code lang="vb">Dim connection As New OracleConnection( _
    "User Id=Scott;Password=tiger;Data Source=Ora")
AddHandler connection.TransactionStateChanged, New TransactionStateChangedEventHandler(AddressOf &amp;_ Me.connection_TransactionStateChanged)
	AddHandler connection.TransactionStateChanging, New TransactionStateChangingEventHandler(AddressOf &amp;_ Me.connection_TransactionStateChanging)
	connection.Open()
	'...
	Dim Transaction As OracleTransaction
	Transaction = connection.BeginTransaction()
	'...
	Transaction.Commit()
	'...

	Private Sub connection_TransactionStateChanged(ByVal sender As Object, ByVal e As TransactionStateChangedEventArgs)
	If (e.Action = TransactionAction.Commit) Then
		'...
	End If
End Sub

Private Sub connection_TransactionStateChanging(ByVal sender As Object, ByVal e As TransactionStateChangingEventArgs)
	If (e.Action = TransactionAction.Commit) Then
		'...
	End If
End Sub </code></example>
      <keywords>DbConnectionBase.TransactionStateChanged event </keywords>
    </member>
    <member name="E:Devart.Common.DbConnectionBase.TransactionStateChanging">
      <summary>Occurs when the state of the transaction is changing. </summary>
      <example>This sample demonstrates how to use the <see cref="E:Devart.Common.DbConnectionBase.TransactionStateChanged" /> and <see cref="E:Devart.Common.DbConnectionBase.TransactionStateChanging" /> events. </example>
      <keywords>DbConnectionBase.TransactionStateChanging event </keywords>
    </member>
    <member name="T:Devart.Common.DbMonitorHelper">
      <summary>Allows to monitor dynamic SQL execution in applications that use .NET data providers. </summary>
      <remarks>Abstract DbMonitorHelper class implements some of <see cref="T:Devart.Data.Oracle.OracleMonitor" /> functionality. </remarks>
      <seealso cref="T:Devart.Data.Oracle.OracleMonitor" />
    </member>
    <member name="T:Devart.Common.ParserBehavior">
      <summary>Defines behavior for <see cref="M:Devart.Data.Oracle.OracleSelectStatement.Parse(System.String,Devart.Common.ParserBehavior)" />. </summary>
    </member>
    <member name="F:Devart.Common.ParserBehavior.All">
      <summary>Parse all statement clauses. </summary>
    </member>
    <member name="F:Devart.Common.ParserBehavior.Columns">
      <summary>Parse select-list. </summary>
    </member>
    <member name="F:Devart.Common.ParserBehavior.GroupBy">
      <summary>Parse GROUP BY clause. </summary>
    </member>
    <member name="F:Devart.Common.ParserBehavior.Having">
      <summary>Parse HAVING clause. </summary>
    </member>
    <member name="F:Devart.Common.ParserBehavior.None">
      <summary>Do not parse any clause. </summary>
    </member>
    <member name="F:Devart.Common.ParserBehavior.OrderBy">
      <summary>Parse ORDER BY clause. </summary>
    </member>
    <member name="F:Devart.Common.ParserBehavior.Tables">
      <summary>Parse FROM clause. </summary>
    </member>
    <member name="F:Devart.Common.ParserBehavior.Where">
      <summary>Parse WHERE clause. </summary>
    </member>
    <member name="T:Devart.Common.SelectColumn">
      <summary>Represents a column or an expression in SELECT, GROUP BY and ORDER BY clauses of a SQL statement. </summary>
      <example><para>This example shows how SelectColumns can be used to create a SelectStatement object representing the following query:</para>
<pre>SELECT test.dept.dname Department, test.dept.loc Location
    FROM test.dept</pre> <code lang="csharp">OracleSelectStatement statement = new OracleSelectStatement();

// Create columns. Specify their schema, tables to which they belong, their names and aliases.
SelectColumn cName = new SelectColumn("test", "dept", "dname", "Department");
SelectColumn cLoc = new SelectColumn("test", "dept", "loc", "Location");

statement.Columns.Add(cName);
statement.Columns.Add(cLoc);

statement.Tables.Add(new SelectTable("test", "dept", "")); </code><code lang="vb">Dim statement As OracleSelectStatement = New OracleSelectStatement()

' Create columns. Specify their schema, tables to which they belong, their names and aliases.
Dim cName = New SelectColumn("test", "dept", "dname", "Department")
Dim cLoc = New SelectColumn("test", "dept", "loc", "Location")

statement.Columns.Add(cName)
statement.Columns.Add(cLoc)

statement.Tables.Add(New SelectTable("test", "dept", "")) </code></example>
    </member>
    <member name="M:Devart.Common.SelectColumn.#ctor(System.String)">
      <summary>Creates and initializes new instance of <see cref="T:Devart.Common.SelectColumn" /> with the specified column name (expression text). </summary>
      <param name="name"> </param>
      <overloads>Creates and initializes new instance of <see cref="T:Devart.Common.SelectColumn" />. </overloads>
    </member>
    <member name="M:Devart.Common.SelectColumn.#ctor(System.String,System.String,System.String,System.String)">
      <summary>Creates and initializes new instance of <see cref="T:Devart.Common.SelectColumn" /> with the specified schema name, table name, column name (expression text) and an alias. </summary>
      <param name="schema">The schema that the column belongs to. </param>
      <param name="table">The table or view that the column belongs to. </param>
      <param name="name">The name of the column or expression text. </param>
      <param name="alias">The column alias. </param>
    </member>
    <member name="M:Devart.Common.SelectColumn.#ctor(System.String,System.String,System.String,System.String,System.String)">
      <summary>Creates and initializes new instance of <see cref="T:Devart.Common.SelectColumn" /> with the specified schema name, table name, column name (expression text) and an alias. </summary>
      <param name="database">The database that the column belongs to. </param>
      <param name="schema">The schema that the column belongs to. </param>
      <param name="table">The table or view that the column belongs to. </param>
      <param name="name">The name of the column or expression text. </param>
      <param name="alias">The column alias. </param>
    </member>
    <member name="P:Devart.Common.SelectColumn.Alias">
      <summary>Gets or sets column alias. </summary>
      <keywords>SelectColumn.Alias property </keywords>
      <value>Column alias. </value>
    </member>
    <member name="P:Devart.Common.SelectColumn.Database">
      <summary>Gets or sets database that the column belongs to. </summary>
      <keywords>SelectColumn.Database property </keywords>
      <value>A database that the column belongs to. </value>
    </member>
    <member name="M:Devart.Common.SelectColumn.Equals(System.Object)">
      <summary>Determines whether two <see cref="T:Devart.Common.SelectColumn" /> objects are identical. </summary>
      <keywords>SelectColumn.Equals method </keywords>
      <param name="obj">A <see cref="T:Devart.Common.SelectColumn" /> object to compare with. </param>
      <returns>
        <see langword="true" />, if the given <paramref name="obj" /> object equals to the current <see cref="T:Devart.Common.SelectColumn" /> instance. </returns>
    </member>
    <member name="P:Devart.Common.SelectColumn.Expression">
      <summary>Gets or sets the SQL expression that the column represents. </summary>
      <remarks>If the <see cref="P:Devart.Common.SelectColumn.Expression" /> property is non-empty, the <see cref="P:Devart.Common.SelectColumn.Name" /> property is ignored. </remarks>
      <keywords>SelectColumn.Expression property </keywords>
      <value>The SQL expression. </value>
    </member>
    <member name="M:Devart.Common.SelectColumn.GetHashCode()">
      <summary>Returns hash code of the current instance. </summary>
      <remarks>Do not use the <see cref="M:Devart.Common.SelectColumn.GetHashCode()" /> method. It is for internal purposes only. </remarks>
      <keywords>SelectColumn.GetHashCode method </keywords>
    </member>
    <member name="P:Devart.Common.SelectColumn.Name">
      <summary>Gets or sets name of the column. </summary>
      <keywords>SelectColumn.Name property </keywords>
      <value>The name of the column. </value>
    </member>
    <member name="P:Devart.Common.SelectColumn.Schema">
      <summary>Gets or sets schema that the column belongs to. </summary>
      <keywords>SelectColumn.Schema property </keywords>
      <value>A schema that the column belongs to. </value>
    </member>
    <member name="P:Devart.Common.SelectColumn.Table">
      <summary>Gets or sets table or view that the column belongs to. </summary>
      <keywords>SelectColumn.Table property </keywords>
      <value>A table or view that the column belongs to. </value>
    </member>
    <member name="M:Devart.Common.SelectColumn.ToString()">
      <summary>Returns the current <see cref="T:Devart.Common.SelectColumn" /> object in the text form. </summary>
      <keywords>SelectColumn.ToString method </keywords>
      <returns>Text representation of the current <see cref="T:Devart.Common.SelectColumn" /> object. </returns>
    </member>
    <member name="T:Devart.Common.SelectColumnCollection">
      <summary>Represents a collection of columns and expressions in a <see cref="T:Devart.Common.SelectStatement" /> object. </summary>
      <remarks>Use <see cref="T:Devart.Common.SelectColumnCollection" /> class to manage columns used in a query.
To access the collection use the <see cref="P:Devart.Common.SelectStatement.Columns" />, <see cref="P:Devart.Common.SelectStatement.GroupBy" /> and <see cref="P:Devart.Common.SelectStatement.OrderBy" /> properties. </remarks>
      <example><para>In the following sample we retrieve a collection of SelectColumns from an OracleSelectStatement object and print them. For example, if statement represents the command:</para>
<pre>SELECT test.dept.dname Department, test.dept.loc Location
    FROM test.dept</pre>
<para> the output of the sample would be the following:</para>
<pre>test.dept.dname Department
test.dept.loc Location</pre> <code lang="csharp">SelectColumnCollection collection = statement.Columns;

foreach (SelectColumn column in collection)         
	Console.WriteLine(column.ToString()); </code><code lang="vb">Dim collection As SelectColumnCollection = statement.Columns
For Each column In collection
	Console.WriteLine(column.ToString())
Next </code></example>
    </member>
    <member name="M:Devart.Common.SelectColumnCollection.Add(Devart.Common.SelectColumn)">
      <summary>Adds the specified <see cref="T:Devart.Common.SelectColumn" /> to the <see cref="T:Devart.Common.SelectColumnCollection" />. </summary>
      <keywords>SelectColumnCollection.Add method </keywords>
      <param name="value">The <see cref="T:Devart.Common.SelectColumn" /> to add to the collection. </param>
      <returns>Index of the new <see cref="T:Devart.Common.SelectColumn" /> object. </returns>
      <overloads>Adds the specified <see cref="T:Devart.Common.SelectColumn" /> to the <see cref="T:Devart.Common.SelectColumnCollection" />. </overloads>
    </member>
    <member name="M:Devart.Common.SelectColumnCollection.Add(System.String)">
      <summary>Creates a new <see cref="T:Devart.Common.SelectColumn" /> object with the name specified and adds it to the collection. </summary>
      <keywords>SelectColumnCollection.Add method </keywords>
      <param name="name">The name of the column which the <see cref="T:Devart.Common.SelectColumn" /> object should represent. </param>
      <returns>The <see cref="T:Devart.Common.SelectColumn" /> object created. </returns>
    </member>
    <member name="M:Devart.Common.SelectColumnCollection.Add(System.String,System.Boolean)">
      <summary>Creates a new <see cref="T:Devart.Common.SelectColumn" /> object with the name specified and adds it to the collection. </summary>
      <keywords>SelectColumnCollection.Add method </keywords>
      <param name="name">The name of the column that the <see cref="T:Devart.Common.SelectColumn" /> object should represent. </param>
      <param name="quote">Specifies whether the column name should be quoted. </param>
      <returns>The <see cref="T:Devart.Common.SelectColumn" /> object created. </returns>
    </member>
    <member name="M:Devart.Common.SelectColumnCollection.Add(System.String,System.String,System.String,System.String)">
      <summary>Adds a newly created <see cref="T:Devart.Common.SelectColumn" /> object with the specified schema, table, name, and alias to the collection. </summary>
      <keywords>SelectColumnCollection.Add method </keywords>
      <param name="schema">The schema which the table containing this column belongs to. </param>
      <param name="table">The name of the table containing the column. </param>
      <param name="name">The name of the column that the <see cref="T:Devart.Common.SelectColumn" /> object should represent. </param>
      <param name="alias">The alias of the column. </param>
      <returns>The <see cref="T:Devart.Common.SelectColumn" /> object created. </returns>
    </member>
    <member name="M:Devart.Common.SelectColumnCollection.Add(System.String,System.String,System.String,System.String,System.Boolean)">
      <summary>Adds a newly created <see cref="T:Devart.Common.SelectColumn" /> object with the specified schema, table, name, and alias to the collection. </summary>
      <keywords>SelectColumnCollection.Add method </keywords>
      <param name="schema">The schema which the table containing this column belongs to. </param>
      <param name="table">The name of the table containing the column. </param>
      <param name="name">The name of the column that the <see cref="T:Devart.Common.SelectColumn" /> object should represent. </param>
      <param name="alias">The alias of the column. </param>
      <param name="quote">Specifies if the column parameters should be quoted. </param>
      <returns>The <see cref="T:Devart.Common.SelectColumn" /> object created. </returns>
    </member>
    <member name="M:Devart.Common.SelectColumnCollection.Add(System.String,System.String,System.String,System.String,System.String)">
      <summary>Adds a newly created <see cref="T:Devart.Common.SelectColumn" /> object with the specified database, schema, table, name, and alias to the collection. </summary>
      <keywords>SelectColumnCollection.Add method </keywords>
      <param name="database">The database which the table containing this column belongs to. </param>
      <param name="schema">The schema which the table containing this column belongs to. </param>
      <param name="table">The name of the table containing the column. </param>
      <param name="name">The name of the column that the <see cref="T:Devart.Common.SelectColumn" /> object should represent. </param>
      <param name="alias">The alias of the column. </param>
      <returns>The <see cref="T:Devart.Common.SelectColumn" /> object created. </returns>
    </member>
    <member name="M:Devart.Common.SelectColumnCollection.Add(System.String,System.String,System.String,System.String,System.String,System.Boolean)">
      <summary>Adds a newly created <see cref="T:Devart.Common.SelectColumn" /> object with the specified database, schema, table, name, and alias to the collection. </summary>
      <keywords>SelectColumnCollection.Add method </keywords>
      <param name="database">The database which the table containing this column belongs to. </param>
      <param name="schema">The schema which the table containing this column belongs to. </param>
      <param name="table">The name of the table containing the column. </param>
      <param name="name">The name of the column which the <see cref="T:Devart.Common.SelectColumn" /> object should represent. </param>
      <param name="alias">The alias of the column. </param>
      <param name="quote">Specifies if the column parameters should be quoted. </param>
      <returns>The <see cref="T:Devart.Common.SelectColumn" /> object created. </returns>
    </member>
    <member name="M:Devart.Common.SelectColumnCollection.Contains(Devart.Common.SelectColumn)">
      <summary>Gets a value indicating whether a <see cref="T:Devart.Common.SelectColumn" /> object exists in the collection. </summary>
      <keywords>SelectColumnCollection.Contains method </keywords>
      <param name="value">The value of the <see cref="T:Devart.Common.SelectColumn" /> object to find. </param>
      <returns>
        <see langword="true" /> if the collection contains the <see cref="T:Devart.Common.SelectColumn" />; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Common.SelectColumnCollection.CopyTo(Devart.Common.SelectColumn[],System.Int32)">
      <summary>Copies <see cref="T:Devart.Common.SelectColumn" /> objects from the <see cref="T:Devart.Common.SelectColumnCollection" /> to the specified array. </summary>
      <keywords>SelectColumnCollection.CopyTo method </keywords>
      <param name="array">The array into which to copy the <see cref="T:Devart.Common.SelectColumn" /> objects. </param>
      <param name="index">The zero-based index of the array. </param>
    </member>
    <member name="M:Devart.Common.SelectColumnCollection.IndexOf(Devart.Common.SelectColumn)">
      <summary>Gets the location in the collection of the <see cref="T:Devart.Common.SelectColumn" /> object. </summary>
      <keywords>SelectColumnCollection.IndexOf method </keywords>
      <param name="value">The <see cref="T:Devart.Common.SelectColumn" /> object to find. </param>
      <returns>The zero-based location of the <see cref="T:Devart.Common.SelectColumn" /> in the collection. </returns>
    </member>
    <member name="M:Devart.Common.SelectColumnCollection.Insert(System.Int32,Devart.Common.SelectColumn)">
      <summary>Inserts a <see cref="T:Devart.Common.SelectColumn" /> into the collection at the specified index. </summary>
      <keywords>SelectColumnCollection.Insert method </keywords>
      <param name="index">The zero-based index where the table is to be inserted within the collection. </param>
      <param name="value">The <see cref="T:Devart.Common.SelectColumn" /> to add to the collection. </param>
    </member>
    <member name="P:Devart.Common.SelectColumnCollection.Item(System.Int32)">
      <summary>Gets or sets the <see cref="T:Devart.Common.SelectColumn" /> at the specified index. </summary>
      <keywords>SelectColumnCollection.Item property </keywords>
      <param name="index">The zero-based index of the table. </param>
      <value>The <see cref="T:Devart.Common.SelectColumn" /> at the specified index. </value>
    </member>
    <member name="M:Devart.Common.SelectColumnCollection.Remove(Devart.Common.SelectColumn)">
      <summary>Removes the specified <see cref="T:Devart.Common.SelectColumn" /> object from the collection. </summary>
      <keywords>SelectColumnCollection.Remove method </keywords>
      <param name="value">The <see cref="T:Devart.Common.SelectColumn" /> object to remove from the collection. </param>
    </member>
    <member name="T:Devart.Common.SelectStatement">
      <summary>Composes, modifies and parses SELECT statements. </summary>
      <remarks>
        <para>The <see cref="T:Devart.Common.SelectStatement" /> class is designed for easy manipulation of SQL SELECT statements. It allows you to perform the following tasks:
<list><item><description>Construct SELECT statements in run time;</description></item><item><description>Modify the statements with object-oriented interface;</description></item><item><description>Parse the statements from strings.</description></item></list>
The <see cref="T:Devart.Common.SelectStatement" /> class exposes SELECT, ORDER BY and GROUP BY clauses as collections of <see cref="T:Devart.Common.SelectColumn" /> objects (<see cref="T:Devart.Common.SelectColumnCollection" />), and FROM clause as collection of <see cref="T:Devart.Common.SelectTable" /> objects (<see cref="T:Devart.Common.SelectTableCollection" />). The WHERE and HAVING clauses are represented as <b>string</b> expressions.
</para>
        <para>
To obtain the statement text use the <see cref="M:Devart.Common.SelectStatement.ToString" /> method.
</para>
<para>Instances of this class cannot be created directly. To use its functionality, one needs to create an object of a descendant class, like <see cref="T:Devart.Data.Oracle.OracleSelectStatement" />.</para> </remarks>
      <example><para>This example illustrates how to construct in run time a SelectStatement object the represents the following query: </para>
<pre>SELECT Test.td.dname AS Department,td.loc AS Location,te.ename AS Name 
FROM Test.dept AS td,emp AS te 
GROUP BY te.empno
ORDER BY te.ename</pre> <code lang="csharp">SelectStatement stmt = (SelectStatement) new OracleSelectStatement();      

stmt.Columns.Add(new SelectColumn("test", "td", "dname", "Department"));
stmt.Columns.Add(new SelectColumn("", "td", "loc", "Location"));
stmt.Columns.Add(new SelectColumn("", "te", "ename", "Name"));

stmt.Tables.Add(new SelectTable("test", "dept", "td"));
stmt.Tables.Add(new SelectTable("", "emp", "te"));

stmt.GroupBy.Add(new SelectColumn("", "te", "empno", ""));

stmt.OrderBy.Add(new SelectColumn("", "te", "ename", "")); </code><code lang="vb">Dim stmt As SelectStatement = New OracleSelectStatement()

stmt.Columns.Add(New SelectColumn("test", "td", "dname", "Department"))
stmt.Columns.Add(New SelectColumn("", "td", "loc", "Location"))
stmt.Columns.Add(New SelectColumn("", "te", "ename", "Name"))

stmt.Tables.Add(New SelectTable("test", "dept", "td"))
stmt.Tables.Add(New SelectTable("", "emp", "te"))

stmt.GroupBy.Add(New SelectColumn("", "te", "empno", ""))

stmt.OrderBy.Add(New SelectColumn("", "te", "ename", "")) </code></example>
    </member>
    <member name="M:Devart.Common.SelectStatement.AddHavingCondition(System.String)">
      <summary>Adds new condition to HAVING clause of the statement, represented by the <see cref="P:Devart.Common.SelectStatement.Having" /> property. </summary>
      <remarks>If the <see cref="P:Devart.Common.SelectStatement.Having" /> property is not empty, the new condition is concatenated using <i>AND</i> keyword. </remarks>
      <example>The following example demonstrates how to use the <see cref="M:Devart.Common.SelectStatement.AddHavingCondition(System.String)" /> method. <code lang="csharp">OracleSelectStatement stmt = new OracleSelectStatement();
stmt.Columns.Add(new SelectColumn("EMP"));
stmt.Columns.Add(new SelectColumn("SAL"));
stmt.Tables.Add(new SelectTable("emp"));

stmt.AddHavingCondition("SAL &gt; 1000");

//select JOB,SAL from emp having SAL &gt; 1000
OracleCommand command = new OracleCommand(stmt.ToString()); </code><code lang="vb">Dim stmt As New OracleSelectStatement
stmt.Columns.Add(New SelectColumn("EMP"))
stmt.Columns.Add(New SelectColumn("SAL"))
stmt.Tables.Add(New SelectTable("emp"))
stmt.AddHavingCondition("SAL &gt; 1000")

'select JOB,SAL from emp having SAL &gt; 1000
Dim command As New OracleCommand(stmt.ToString) </code></example>
      <keywords>SelectStatement.AddHavingCondition method </keywords>
      <param name="condition">A new condition to add. </param>
    </member>
    <member name="M:Devart.Common.SelectStatement.AddWhereCondition(System.String)">
      <summary>Adds new condition to WHERE clause of the statement, represented by the <see cref="P:Devart.Common.SelectStatement.Where" /> property. </summary>
      <remarks>If the <see cref="P:Devart.Common.SelectStatement.Where" /> property is not empty, the new condition is concatenated using <i>AND</i> keyword. </remarks>
      <example>The following example demonstrates how to use the <see cref="M:Devart.Common.SelectStatement.AddWhereCondition(System.String)" /> method. <code lang="csharp">OracleSelectStatement stmt = new OracleSelectStatement();
stmt.Columns.Add(new SelectColumn("ENAME"));
stmt.Tables.Add(new SelectTable("emp"));

stmt.Where = "1000 &lt; SAL";
stmt.AddWhereCondition("SAL &lt; 1500");
stmt.AddWhereCondition("JOB = 'SALESMAN'");

//select ENAME from emp where ((1000 &lt; SAL) AND SAL &lt; 1500 ) AND JOB = 'SALESMAN'
OracleCommand command = new OracleCommand(stmt.ToString()); </code><code lang="vb">Dim stmt As New OracleSelectStatement
stmt.Columns.Add(New SelectColumn("ENAME"))
stmt.Tables.Add(New SelectTable("emp"))

stmt.Where = "1000 &lt; SAL"
stmt.AddWhereCondition("SAL &lt; 1500")
stmt.AddWhereCondition("JOB = 'SALESMAN'")

'select ENAME from emp where ((1000 &lt; SAL) AND SAL &lt; 1500 ) AND JOB = 'SALESMAN'
Dim command As New OracleCommand(stmt.ToString) </code></example>
      <keywords>SelectStatement.AddWhereCondition method </keywords>
      <param name="condition">A new condition to add. </param>
    </member>
    <member name="P:Devart.Common.SelectStatement.All">
      <summary>Gets or sets the value, indicating if the all records are selected or only the unique ones. </summary>
      <keywords>SelectStatement.All property </keywords>
      <value><see langword="true" />, if the result set should contain all the rows; otherwise, <see langword="false" />. </value>
    </member>
    <member name="M:Devart.Common.SelectStatement.Clear()">
      <summary>Clears all parts of the <see cref="T:Devart.Common.SelectStatement" />. </summary>
      <remarks>Call <see cref="M:Devart.Common.SelectStatement.Clear" /> to empty all properties of the <see cref="T:Devart.Common.SelectStatement" /> object. </remarks>
      <example>The following example demonstrates how to use the <see cref="M:Devart.Common.SelectStatement.Clear()" /> method. <code lang="csharp">private void RefreshStatement(OracleSelectStatement stmt)
{
  stmt.Clear();
  stmt.Columns.Add(new SelectColumn("ENAME"));
  stmt.Columns.Add(new SelectColumn("", "emp", "JOB", "j"));
  stmt.Columns.Add(new SelectColumn("test", "", "emp", "HIREDATE", "hd"));

  stmt.Tables.Add(new SelectTable("emp"));

  //select ENAME,emp.JOB j,Test.emp.HIREDATE hd from emp
  string queryText = stmt.ToString();
} </code><code lang="vb">Private Sub RefreshStatement(ByVal stmt As OracleSelectStatement)
  stmt.Clear()
  stmt.Columns.Add(New SelectColumn("ENAME"))
  stmt.Columns.Add(New SelectColumn("", "emp", "JOB", "j"))
  stmt.Columns.Add(New SelectColumn("test", "", "emp", "HIREDATE", "hd"))
  stmt.Tables.Add(New SelectTable("emp"))
  'select ENAME,emp.JOB j,Test.emp.HIREDATE hd from emp
  Dim queryText As String = stmt.ToString
End Sub </code></example>
      <keywords>SelectStatement.Clear method </keywords>
    </member>
    <member name="P:Devart.Common.SelectStatement.Columns">
      <summary>Contains list of columns and expressions used in the select-list of the current <see cref="T:Devart.Common.SelectStatement" /> object. </summary>
      <example>The following example demonstrates how to use the <see cref="P:Devart.Common.SelectStatement.Columns" /> property. <code lang="csharp">private void RefreshStatement(OracleSelectStatement stmt)
{
  stmt.Clear();
  stmt.Columns.Add(new SelectColumn("ENAME"));
  stmt.Columns.Add(new SelectColumn("", "emp", "JOB", "j"));
  stmt.Columns.Add(new SelectColumn("test", "", "emp", "HIREDATE", "hd"));

  stmt.Tables.Add(new SelectTable("emp"));

  //select ENAME,emp.JOB j,Test.emp.HIREDATE hd from emp
  string queryText = stmt.ToString();
} </code><code lang="vb">Private Sub RefreshStatement(ByVal stmt As OracleSelectStatement)
  stmt.Clear()
  stmt.Columns.Add(New SelectColumn("ENAME"))
  stmt.Columns.Add(New SelectColumn("", "emp", "JOB", "j"))
  stmt.Columns.Add(New SelectColumn("test", "", "emp", "HIREDATE", "hd"))
  stmt.Tables.Add(New SelectTable("emp"))
  'select ENAME,emp.JOB j,Test.emp.HIREDATE hd from emp
  Dim queryText As String = stmt.ToString
End Sub </code></example>
      <keywords>SelectStatement.Columns property </keywords>
      <value>A <see cref="T:Devart.Common.SelectColumnCollection" /> that represents list of columns and expressions used in the SELECT clause. </value>
    </member>
    <member name="P:Devart.Common.SelectStatement.Distinct">
      <summary>Gets or sets whether statement should request unique rows only. </summary>
      <example>The following example demonstrates how to use the <see cref="P:Devart.Common.SelectStatement.Distinct" /> property. <code lang="csharp">OracleSelectStatement stmt = new OracleSelectStatement();
stmt.Columns.Add(new SelectColumn("JOB"));
stmt.Tables.Add(new SelectTable("emp"));

stmt.Distinct = true;

//select distinct JOB from emp
string queryText = stmt.ToString(); </code><code lang="vb">Dim stmt As New OracleSelectStatement
stmt.Columns.Add(New SelectColumn("JOB"))
stmt.Tables.Add(New SelectTable("emp"))
stmt.Distinct = True

'select distinct JOB from emp
Dim queryText As String = stmt.ToString </code></example>
      <keywords>SelectStatement.Distinct property </keywords>
      <value>
        <see langword="true" />, if the result set should contain unique rows only; otherwise, <see langword="false" />. </value>
    </member>
    <member name="P:Devart.Common.SelectStatement.GroupBy">
      <summary>Contains list of columns used in the GROUP BY clause of the current <see cref="T:Devart.Common.SelectStatement" /> object. </summary>
      <example>The following example demonstrates how to use the <see cref="P:Devart.Common.SelectStatement.GroupBy" /> property. <code lang="csharp">OracleSelectStatement stmt = new OracleSelectStatement();
SelectColumn jobName = new SelectColumn("JOB");
stmt.Columns.Add(jobName);
stmt.Columns.Add(new SelectColumn("AVG(SAL)"));
stmt.Tables.Add(new SelectTable("emp"));

stmt.GroupBy.Add(jobName);
stmt.Having = "AVG(SAL) &gt; 1000";

//select JOB,AVG(SAL) from emp group by JOB having AVG(SAL) &gt; 1000
OracleCommand command = new OracleCommand(stmt.ToString()); </code></example>
      <keywords>SelectStatement.GroupBy property </keywords>
      <value>A <see cref="T:Devart.Common.SelectColumnCollection" /> that represents list of columns used in the GROUP BY clause. </value>
    </member>
    <member name="P:Devart.Common.SelectStatement.Having">
      <summary>Gets or sets HAVING clause of the statement. </summary>
      <remarks>To quickly add new condition to the clause use the <see cref="M:Devart.Common.SelectStatement.AddHavingCondition(System.String)" /> method. </remarks>
      <example>The following example demonstrates how to use the <see cref="P:Devart.Common.SelectStatement.Having" /> property. <code lang="csharp">OracleSelectStatement stmt = new OracleSelectStatement();
SelectColumn jobName = new SelectColumn("JOB");
stmt.Columns.Add(jobName);
stmt.Columns.Add(new SelectColumn("AVG(SAL)"));
stmt.Tables.Add(new SelectTable("emp"));

stmt.GroupBy.Add(jobName);
stmt.Having = "AVG(SAL) &gt; 1000";

//select JOB,AVG(SAL) from emp group by JOB having AVG(SAL) &gt; 1000
OracleCommand command = new OracleCommand(stmt.ToString()); </code><code lang="vb">Dim stmt As New OracleSelectStatement
Dim jobName As New SelectColumn("JOB")
stmt.Columns.Add(jobName)
stmt.Columns.Add(New SelectColumn("AVG(SAL)"))
stmt.Tables.Add(New SelectTable("emp"))

stmt.GroupBy.Add(jobName)
stmt.Having = "AVG(SAL) &gt; 1000"

'select JOB,AVG(SAL) from emp group by JOB having AVG(SAL) &gt; 1000
Dim command As New OracleCommand(stmt.ToString) </code></example>
      <keywords>SelectStatement.Having property </keywords>
      <value>The HAVING clause of the statement. </value>
    </member>
    <member name="P:Devart.Common.SelectStatement.OrderBy">
      <summary>Contains list of columns used in the ORDER BY clause of the current <see cref="T:Devart.Common.SelectStatement" /> object. </summary>
      <example>The following example demonstrates how to use the <see cref="P:Devart.Common.SelectStatement.OrderBy" /> property. <code lang="csharp">OracleSelectStatement stmt = new OracleSelectStatement();
SelectColumn empName = new SelectColumn("ENAME");
stmt.Columns.Add(empName);
stmt.Tables.Add(new SelectTable("emp"));

stmt.OrderBy.Add(empName);

//select ENAME from emp order by ENAME
OracleCommand command = new OracleCommand(stmt.ToString()); </code><code lang="vb">Dim stmt As New OracleSelectStatement
Dim empName As New SelectColumn("ENAME")
stmt.Columns.Add(empName)
stmt.Tables.Add(New SelectTable("emp"))

stmt.OrderBy.Add(empName)

'select ENAME from emp order by ENAME
Dim command5 As New OracleCommand(stmt.ToString) </code></example>
      <keywords>SelectStatement.OrderBy property </keywords>
      <value>A <see cref="T:Devart.Common.SelectColumnCollection" /> that represents list of columns used in the ORDER BY clause. </value>
    </member>
    <member name="P:Devart.Common.SelectStatement.Tables">
      <summary>Contains list of tables and subqueries used in the FROM clause of the current <see cref="T:Devart.Common.SelectStatement" /> object. </summary>
      <example>The following example demonstrates how to use the <see cref="P:Devart.Common.SelectStatement.Tables" /> property. <code lang="csharp">private void RefreshStatement(OracleSelectStatement stmt)
{
  stmt.Clear();
  stmt.Columns.Add(new SelectColumn("ENAME"));
  stmt.Columns.Add(new SelectColumn("", "emp", "JOB", "j"));
  stmt.Columns.Add(new SelectColumn("test", "", "emp", "HIREDATE", "hd"));

  stmt.Tables.Add(new SelectTable("emp"));

  //select ENAME,emp.JOB j,Test.emp.HIREDATE hd from emp
  string queryText = stmt.ToString();
} </code><code lang="vb">Private Sub RefreshStatement(ByVal stmt As OracleSelectStatement)
  stmt.Clear()
  stmt.Columns.Add(New SelectColumn("ENAME"))
  stmt.Columns.Add(New SelectColumn("", "emp", "JOB", "j"))
  stmt.Columns.Add(New SelectColumn("test", "", "emp", "HIREDATE", "hd"))
  stmt.Tables.Add(New SelectTable("emp"))
  'select ENAME,emp.JOB j,Test.emp.HIREDATE hd from emp
  Dim queryText As String = stmt.ToString
End Sub </code></example>
      <keywords>SelectStatement.Tables property </keywords>
      <value>A <see cref="T:Devart.Common.SelectTableCollection" /> that represents list of tables and subqueries used in the FROM clause. </value>
    </member>
    <member name="M:Devart.Common.SelectStatement.ToString()">
      <summary>Returns SQL statement in the text form. </summary>
      <example>The following example demonstrates how to use the <see cref="M:Devart.Common.SelectStatement.ToString()" /> method. <code lang="csharp">OracleSelectStatement stmt = new OracleSelectStatement();
stmt.Columns.Add(new SelectColumn("JOB"));
stmt.Tables.Add(new SelectTable("emp"));

stmt.Distinct = true;

//select distinct JOB from emp
string queryText = stmt.ToString(); </code><code lang="vb">Dim stmt As New OracleSelectStatement
stmt.Columns.Add(New SelectColumn("JOB"))
stmt.Tables.Add(New SelectTable("emp"))
stmt.Distinct = True

'select distinct JOB from emp
Dim queryText As String = stmt.ToString </code></example>
      <keywords>SelectStatement.ToString method </keywords>
      <returns>The text of SQL statement that is equivalent to current state of the <see cref="T:Devart.Common.SelectStatement" /> object. </returns>
    </member>
    <member name="P:Devart.Common.SelectStatement.Where">
      <summary>Gets or sets WHERE clause of the statement. </summary>
      <remarks>To quickly add new condition to the clause use the <see cref="M:Devart.Common.SelectStatement.AddWhereCondition(System.String)" /> method. </remarks>
      <example>The following example demonstrates how to use the <see cref="P:Devart.Common.SelectStatement.Where" /> property. <code lang="csharp">OracleSelectStatement stmt = new OracleSelectStatement();
stmt.Columns.Add(new SelectColumn("ENAME"));
stmt.Tables.Add(new SelectTable("emp"));

stmt.Where = "1000 &lt; SAL AND SAL &lt; 1500 OR JOB = 'SALESMAN'";

OracleCommand command = new OracleCommand(stmt.ToString()); </code><code lang="vb">Dim stmt As New OracleSelectStatement
stmt.Columns.Add(New SelectColumn("ENAME"))
stmt.Tables.Add(New SelectTable("emp"))

stmt.Where = "1000 &lt; SAL AND SAL &lt; 1500 OR JOB = 'SALESMAN'"

Dim command As New OracleCommand(stmt.ToString) </code></example>
      <keywords>SelectStatement.Where property </keywords>
      <value>The WHERE clause of the statement. </value>
    </member>
    <member name="T:Devart.Common.SelectStatementNode">
      <summary>An abstract SQL element. </summary>
    </member>
    <member name="M:Devart.Common.SelectStatementNode.#ctor()">
      <summary>Creates and initializes new instance of <see cref="T:Devart.Common.SelectStatementNode" />. </summary>
    </member>
    <member name="T:Devart.Common.SelectTable">
      <summary>Represents a table or a subquery in the FROM clause of a SELECT statement. </summary>
      <example><para>This example shows how SelectTables can be used to create a SelectStatement object representing the following query:</para>
<pre>SELECT * FROM test.dept tDept, test.emp tEmp</pre> <code lang="csharp">OracleSelectStatement statement = new OracleSelectStatement();     

statement.Columns.Add("*");

// Create SelectTables, specify their schemas, names and aliases.
SelectTable dept = new SelectTable("test", "dept", "tDept");
SelectTable emp = new SelectTable("test", "emp", "tEmp");

statement.Tables.Add(dept);
statement.Tables.Add(emp); </code><code lang="vb">Dim statement = New OracleSelectStatement()

statement.Columns.Add("*")

' Create SelectTables, specify their schemas, names and aliases.
Dim dept = New SelectTable("test", "dept", "tDept")
Dim emp = New SelectTable("test", "emp", "tEmp")

statement.Tables.Add(dept)
statement.Tables.Add(emp) </code></example>
    </member>
    <member name="M:Devart.Common.SelectTable.#ctor(System.String)">
      <summary>Creates and initializes new instance of <see cref="T:Devart.Common.SelectTable" /> with the specified table name (subquery text). </summary>
      <param name="name">The name of the table or subquery text. </param>
      <overloads>Creates and initializes new instance of <see cref="T:Devart.Common.SelectTable" />. </overloads>
    </member>
    <member name="M:Devart.Common.SelectTable.#ctor(System.String,System.String,System.String)">
      <summary>Creates and initializes new instance of <see cref="T:Devart.Common.SelectTable" /> with the specified schema, table name (subquery text) and alias. </summary>
      <param name="schema">The name of the table schema. </param>
      <param name="name">The name of the table or subquery text. </param>
      <param name="alias">The alias for the table or expression. </param>
    </member>
    <member name="M:Devart.Common.SelectTable.#ctor(System.String,System.String,System.String,System.String)">
      <summary>Creates and initializes new instance of <see cref="T:Devart.Common.SelectTable" /> with the specified schema, table name (subquery text) and alias. </summary>
      <param name="database">The name of the table database. </param>
      <param name="schema">The name of the table schema. </param>
      <param name="name">The name of the table or subquery text. </param>
      <param name="alias">The alias for the table or expression. </param>
    </member>
    <member name="P:Devart.Common.SelectTable.Alias">
      <summary>Gets or sets table alias. </summary>
      <keywords>SelectTable.Alias property </keywords>
      <value>Table alias. </value>
    </member>
    <member name="P:Devart.Common.SelectTable.Database">
      <summary>Gets or sets the name of the table database. </summary>
      <keywords>SelectTable.Database property </keywords>
      <value>The name of the table database. </value>
    </member>
    <member name="M:Devart.Common.SelectTable.Equals(System.Object)">
      <summary>Determines whether two <see cref="T:Devart.Common.SelectTable" /> objects are identical. </summary>
      <keywords>SelectTable.Equals method </keywords>
      <param name="obj">A <see cref="T:Devart.Common.SelectColumn" /> object to compare with. </param>
      <returns>
        <see langword="true" />, if the given <paramref name="obj" /> object equals to the current <see cref="T:Devart.Common.SelectTable" /> instance. </returns>
    </member>
    <member name="M:Devart.Common.SelectTable.GetHashCode()">
      <summary>Returns hash code of the current instance. </summary>
      <remarks>Do not use the <see cref="M:Devart.Common.SelectColumn.GetHashCode()" /> method. It is for internal purposes only. </remarks>
      <keywords>SelectTable.GetHashCode method </keywords>
    </member>
    <member name="P:Devart.Common.SelectTable.JoinClause">
      <summary>Gets or sets a JOIN clause for the <see cref="T:Devart.Common.SelectTable" />. </summary>
      <keywords>SelectTable.JoinClause property </keywords>
      <value>The JOIN clause. </value>
    </member>
    <member name="P:Devart.Common.SelectTable.JoinCondition">
      <summary>Gets or sets a JOIN ON clause for the <see cref="T:Devart.Common.SelectTable" />. </summary>
      <keywords>SelectTable.JoinCondition property </keywords>
      <value>The JOIN ON clause. </value>
    </member>
    <member name="P:Devart.Common.SelectTable.Name">
      <summary>Gets or sets name of the table or subquery text. </summary>
      <keywords>SelectTable.Name property </keywords>
      <value>The name of the table or subquery text. </value>
    </member>
    <member name="P:Devart.Common.SelectTable.Schema">
      <summary>Gets or sets the name of the table schema. </summary>
      <keywords>SelectTable.Schema property </keywords>
      <value>The name of the table schema. </value>
    </member>
    <member name="P:Devart.Common.SelectTable.SubQuery">
      <summary>Gets the subquery text that the <see cref="T:Devart.Common.SelectTable" /> represents. </summary>
      <remarks>If the <see cref="P:Devart.Common.SelectTable.SubQuery" /> property is non-empty, the <see cref="P:Devart.Common.SelectTable.Name" /> property is ignored. </remarks>
      <keywords>SelectTable.SubQuery property </keywords>
      <value>The subquery text. </value>
    </member>
    <member name="M:Devart.Common.SelectTable.ToString()">
      <summary>Returns the current <see cref="T:Devart.Common.SelectTable" /> object in the text form. </summary>
      <keywords>SelectTable.ToString method </keywords>
      <returns>Text representation of the current <see cref="T:Devart.Common.SelectTable" /> object. </returns>
    </member>
    <member name="T:Devart.Common.SelectTableCollection">
      <summary>Represents a collection of tables and subqueries in a <see cref="T:Devart.Common.SelectStatement" /> object. </summary>
      <remarks>Use <see cref="T:Devart.Common.SelectTableCollection" /> class to manage tables used in a query.
To access the collection use the <see cref="P:Devart.Common.SelectStatement.Tables" /> property. </remarks>
      <example><para>In the following sample we retrieve a collection of SelectTables from an OracleSelectStatement object 'statement' and print them. For example, if statement represents the command</para>
<pre>SELECT * FROM test.dept tDept,test.emp tEmp</pre>
<para> the output of the sample would be the following:</para>
<pre>test.dept tDept
test.emp tEmp</pre> <code lang="csharp">SelectTableCollection collection = statement.Tables;
foreach (SelectTable table in collection)
	Console.WriteLine(table.ToString()); </code><code lang="vb">Dim collection As SelectTableCollection = statement.Tables
For Each table In collection
	Console.WriteLine(table.ToString())
Next </code></example>
    </member>
    <member name="M:Devart.Common.SelectTableCollection.Add(Devart.Common.SelectTable)">
      <summary>Adds the specified <see cref="T:Devart.Common.SelectTable" /> to the <see cref="T:Devart.Common.SelectTableCollection" />. </summary>
      <keywords>SelectTableCollection.Add method </keywords>
      <param name="value">The <see cref="T:Devart.Common.SelectTable" /> to add to the collection. </param>
      <returns>Index of the new <see cref="T:Devart.Common.SelectTable" /> object. </returns>
      <overloads>Adds the specified <see cref="T:Devart.Common.SelectTable" /> to the <see cref="T:Devart.Common.SelectTableCollection" />. </overloads>
    </member>
    <member name="M:Devart.Common.SelectTableCollection.Add(System.String)">
      <summary>Creates a new <see cref="T:Devart.Common.SelectTable" /> object with the name specified and adds it to the collection. </summary>
      <keywords>SelectTableCollection.Add method </keywords>
      <param name="name">The name of the table that the <see cref="T:Devart.Common.SelectTable" /> object should represent. </param>
      <returns>The <see cref="T:Devart.Common.SelectTable" /> object created. </returns>
    </member>
    <member name="M:Devart.Common.SelectTableCollection.Add(System.String,System.Boolean)">
      <summary>Creates a new <see cref="T:Devart.Common.SelectTable" /> object with the name specified and adds it to the collection. </summary>
      <keywords>SelectTableCollection.Add method </keywords>
      <param name="name">The name of the table that the <see cref="T:Devart.Common.SelectTable" /> object should represent. </param>
      <param name="quoted">Specifies whether the table name should be quoted. </param>
      <returns>The <see cref="T:Devart.Common.SelectTable" /> object created. </returns>
    </member>
    <member name="M:Devart.Common.SelectTableCollection.Add(System.String,System.String,System.String)">
      <summary>Adds a newly created <see cref="T:Devart.Common.SelectTable" /> object with the specified schema, name, and alias to the collection. </summary>
      <keywords>SelectTableCollection.Add method </keywords>
      <param name="schema">The schema, which the table belongs to. </param>
      <param name="name">The name of the table that the <see cref="T:Devart.Common.SelectTable" /> object should represent. </param>
      <param name="alias">The alias of the table. </param>
      <returns>The <see cref="T:Devart.Common.SelectTable" /> object created. </returns>
    </member>
    <member name="M:Devart.Common.SelectTableCollection.Add(System.String,System.String,System.String,System.Boolean)">
      <summary>Adds a newly created <see cref="T:Devart.Common.SelectTable" /> object with the specified schema, name, and alias to the collection. </summary>
      <keywords>SelectTableCollection.Add method </keywords>
      <param name="schema">The schema, which the table belongs to. </param>
      <param name="name">The name of the table that the <see cref="T:Devart.Common.SelectTable" /> object should represent. </param>
      <param name="alias">The alias of the table. </param>
      <param name="quote">Specifies if the table parameters should be quoted. </param>
      <returns>The <see cref="T:Devart.Common.SelectTable" /> object created. </returns>
    </member>
    <member name="M:Devart.Common.SelectTableCollection.Add(System.String,System.String,System.String,System.String)">
      <summary>Adds a newly created <see cref="T:Devart.Common.SelectTable" /> object with the specified database, schema, name, and alias to the collection. </summary>
      <keywords>SelectTableCollection.Add method </keywords>
      <param name="database">The database, which the table belongs to. </param>
      <param name="schema">The schema, which the table belongs to. </param>
      <param name="name">The name of the table that the <see cref="T:Devart.Common.SelectTable" /> object should represent. </param>
      <param name="alias">The alias of the table. </param>
      <returns>The <see cref="T:Devart.Common.SelectTable" /> object created. </returns>
    </member>
    <member name="M:Devart.Common.SelectTableCollection.Add(System.String,System.String,System.String,System.String,System.Boolean)">
      <summary>Adds a newly created <see cref="T:Devart.Common.SelectTable" /> object with the specified database, schema, name, and alias to the collection. </summary>
      <keywords>SelectTableCollection.Add method </keywords>
      <param name="database">The database, which the table belongs to. </param>
      <param name="schema">The schema, which the table belongs to. </param>
      <param name="name">The name of the table that the <see cref="T:Devart.Common.SelectTable" /> object should represent. </param>
      <param name="alias">The alias of the table. </param>
      <param name="quote">Specifies if the table parameters should be quoted. </param>
      <returns>The <see cref="T:Devart.Common.SelectTable" /> object created. </returns>
    </member>
    <member name="M:Devart.Common.SelectTableCollection.Contains(Devart.Common.SelectTable)">
      <summary>Gets a value indicating whether a <see cref="T:Devart.Common.SelectTable" /> object exists in the collection. </summary>
      <keywords>SelectTableCollection.Contains method </keywords>
      <param name="value">The value of the <see cref="T:Devart.Common.SelectTable" /> object to find. </param>
      <returns>
        <see langword="true" /> if the collection contains the <see cref="T:Devart.Common.SelectTable" />; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Common.SelectTableCollection.CopyTo(Devart.Common.SelectTable[],System.Int32)">
      <summary>Copies <see cref="T:Devart.Common.SelectTable" /> objects from the <see cref="T:Devart.Common.SelectTableCollection" /> to the specified array. </summary>
      <keywords>SelectTableCollection.CopyTo method </keywords>
      <param name="array">The array into which to copy the <see cref="T:Devart.Common.SelectTable" /> objects. </param>
      <param name="index">The zero-based index of the array. </param>
    </member>
    <member name="M:Devart.Common.SelectTableCollection.IndexOf(Devart.Common.SelectTable)">
      <summary>Gets the location in the collection of the <see cref="T:Devart.Common.SelectTable" /> object. </summary>
      <keywords>SelectTableCollection.IndexOf method </keywords>
      <param name="value">The <see cref="T:Devart.Common.SelectTable" /> object to find. </param>
      <returns>The zero-based location of the <see cref="T:Devart.Common.SelectTable" /> in the collection. </returns>
    </member>
    <member name="M:Devart.Common.SelectTableCollection.Insert(System.Int32,Devart.Common.SelectTable)">
      <summary>Inserts a <see cref="T:Devart.Common.SelectTable" /> into the collection at the specified index. </summary>
      <keywords>SelectTableCollection.Insert method </keywords>
      <param name="index">The zero-based index where the table is to be inserted within the collection. </param>
      <param name="value">The <see cref="T:Devart.Common.SelectTable" /> to add to the collection. </param>
    </member>
    <member name="P:Devart.Common.SelectTableCollection.Item(System.Int32)">
      <summary>Gets or sets the <see cref="T:Devart.Common.SelectTable" /> at the specified index. </summary>
      <keywords>SelectTableCollection.Item property </keywords>
      <param name="index">The zero-based index of the table. </param>
      <value>The <see cref="T:Devart.Common.SelectTable" /> at the specified index. </value>
    </member>
    <member name="M:Devart.Common.SelectTableCollection.Remove(Devart.Common.SelectTable)">
      <summary>Removes the specified <see cref="T:Devart.Common.SelectTable" /> object from the collection. </summary>
      <keywords>SelectTableCollection.Remove method </keywords>
      <param name="value">The <see cref="T:Devart.Common.SelectTable" /> object to remove from the collection. </param>
    </member>
    <member name="N:Devart.Data.Oracle">
      <summary>The <see cref="N:Devart.Data.Oracle" /> namespace contains the dotConnect for Oracle data access classes. </summary>
    </member>
    <member name="T:Devart.Data.Oracle.DirectUtils">
      <summary>Use this class to configure the packet size in the <see cref="P:Devart.Data.Oracle.OracleConnection.Direct" /> mode. </summary>
    </member>
    <member name="M:Devart.Data.Oracle.DirectUtils.#ctor()">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.DirectUtils" /> class. </summary>
    </member>
    <member name="P:Devart.Data.Oracle.DirectUtils.OldAuthMode">
      <summary>Allows switching the algorithm for password encryption. </summary>
      <keywords>DirectUtils.OldAuthMode property </keywords>
      <value><see langword="true" /> if the algorithm of Oracle 7 and 8 is used for password encryption; <see langword="false" /> if the algorithm corresponds to the actual server version is used for password encryption. </value>
    </member>
    <member name="P:Devart.Data.Oracle.DirectUtils.PacketSize">
      <summary>Allows controlling the packet size only in the Direct mode. </summary>
      <remarks><para>The range of acceptable values is 800 - 8192.</para>
<para>We cannot guarantee that the packet size will be exactly the same as it was set in the OCI mode, because data transfer is controlled by Oracle Client in this case.</para> </remarks>
      <keywords>DirectUtils.PacketSize property </keywords>
      <value>The size of packets in <see cref="P:Devart.Data.Oracle.OracleConnection.Direct" /> mode in bytes. </value>
    </member>
    <member name="T:Devart.Data.Oracle.ICustomOracleArray">
      <summary>Represents an Oracle ARRAY. </summary>
      <remarks>Implement this interface to build your own representation of Oracle ARRAY. </remarks>
    </member>
    <member name="M:Devart.Data.Oracle.ICustomOracleArray.FromOracleArray(Devart.Data.Oracle.NativeOracleArray)">
      <summary>Copies data from an <see cref="T:Devart.Data.Oracle.NativeOracleArray" /> instance. </summary>
      <keywords>ICustomOracleArray.FromOracleArray method </keywords>
      <param name="oraArray">An <see cref="T:Devart.Data.Oracle.NativeOracleArray" /> instance to copy data from. </param>
    </member>
    <member name="M:Devart.Data.Oracle.ICustomOracleArray.ToOracleArray(Devart.Data.Oracle.OracleConnection)">
      <summary>Copies data to a new <see cref="T:Devart.Data.Oracle.NativeOracleArray" /> instance. </summary>
      <keywords>ICustomOracleArray.ToOracleArray method </keywords>
      <param name="con">An <see cref="T:Devart.Data.Oracle.OracleConnection" /> object. </param>
      <returns>A new <see cref="T:Devart.Data.Oracle.NativeOracleArray" /> instance filled with data. </returns>
    </member>
    <member name="T:Devart.Data.Oracle.ICustomOracleObject">
      <summary>Represents an Oracle OBJECT. </summary>
      <remarks>Implement this interface to build your own representation of Oracle OBJECT. </remarks>
    </member>
    <member name="M:Devart.Data.Oracle.ICustomOracleObject.FromOracleObject(Devart.Data.Oracle.NativeOracleObject)">
      <summary>Copies data from an <see cref="T:Devart.Data.Oracle.NativeOracleObject" /> instance. </summary>
      <keywords>ICustomOracleObject.FromOracleObject method </keywords>
      <param name="oraObject">An <see cref="T:Devart.Data.Oracle.NativeOracleObject" /> instance to copy data from. </param>
    </member>
    <member name="M:Devart.Data.Oracle.ICustomOracleObject.ToOracleObject(Devart.Data.Oracle.OracleConnection)">
      <summary>Copies data to a new <see cref="T:Devart.Data.Oracle.NativeOracleObject" /> instance. </summary>
      <keywords>ICustomOracleObject.ToOracleObject method </keywords>
      <param name="con">An <see cref="T:Devart.Data.Oracle.OracleConnection" /> object. </param>
      <returns>A new <see cref="T:Devart.Data.Oracle.NativeOracleObject" /> instance filled with data. </returns>
    </member>
    <member name="T:Devart.Data.Oracle.ICustomOracleRef">
      <summary>Represents an Oracle REF. </summary>
      <remarks>Implement this interface to build your own representation of Oracle REF. </remarks>
    </member>
    <member name="M:Devart.Data.Oracle.ICustomOracleRef.FromOracleRef(Devart.Data.Oracle.OracleRef)">
      <summary>Copies data from an <see cref="T:Devart.Data.Oracle.OracleRef" /> instance. </summary>
      <keywords>ICustomOracleRef.FromOracleRef method </keywords>
      <param name="oraRef">An <see cref="T:Devart.Data.Oracle.OracleRef" /> instance to copy data from. </param>
    </member>
    <member name="M:Devart.Data.Oracle.ICustomOracleRef.ToOracleRef(Devart.Data.Oracle.OracleConnection)">
      <summary>Copies data to a new <see cref="T:Devart.Data.Oracle.OracleRef" /> instance. </summary>
      <keywords>ICustomOracleRef.ToOracleRef method </keywords>
      <param name="con">An <see cref="T:Devart.Data.Oracle.OracleConnection" /> object. </param>
      <returns>A new <see cref="T:Devart.Data.Oracle.OracleRef" /> instance filled with data. </returns>
    </member>
    <member name="T:Devart.Data.Oracle.NativeOracleArray">
      <summary>Represents an Oracle collection (VARRAY). </summary>
      <remarks><para>The <see cref="T:Devart.Data.Oracle.NativeOracleArray" /> class provides methods to access elements of the collection. Items values are accessible by <see cref="P:Devart.Data.Oracle.NativeOracleArray.Item" /> indexed property.</para>
<para>This class represents OCI arrays, and is intended for use in connected data access model.</para>
<para>The array elements can be added to the collection dynamically by calling <see cref="M:Devart.Data.Oracle.NativeOracleArray.Add" />, <see cref="M:Devart.Data.Oracle.NativeOracleArray.Insert" /> methods or removed by calling <see cref="M:Devart.Data.Oracle.NativeOracleArray.Remove" /> or <see cref="M:Devart.Data.Oracle.NativeOracleArray.RemoveAt" /> but the maximum number of the elements cannot exceed <see cref="P:Devart.Data.Oracle.NativeOracleArray.Capacity" /> specified at Oracle declaration of the VARRAY.</para>
<para>Indexes in this collection are zero-based.</para>
<para>Note that <see cref="T:Devart.Data.Oracle.NativeOracleArray" /> can be used in data binding with <b>DataGrid</b> as it implements <b>IListSource</b> interface.</para>
<para>This class is not available in <see cref="P:Devart.Data.Oracle.OracleConnection.Direct" /> mode.</para> </remarks>
      <example><para>This example demonstrates how to retrieve a NativeOracleArray object from the server and display its elements. To create required type and table and fill it with data you can use the following script: </para>
<pre>CREATE OR REPLACE TYPE TEmployees AS 
  VARYING ARRAY(10000) OF VARCHAR2(40);

CREATE TABLE CompanyEmpObject (
  Code NUMBER PRIMARY KEY,
  Company VARCHAR2(40),
  Employees TEmployees	
);
INSERT INTO CompanyEmpObject
  (Code, Company, Employees)
VALUES
  (1, 'Microsoft', TEmployees('PROGRAMMER', 'MANAGER', 'ELECTRICIAN', 'CLEANUP MEN'));
INSERT INTO CompanyEmpObject
  (Code, Company, Employees)
VALUES
  (2, 'Borland', TEmployees('PROGRAMMER', 'ELECTRICIAN', 'COURIER'));
INSERT INTO CompanyEmpObject
  (Code, Company, Employees)
VALUES
  (3, 'MC Donalds', TEmployees('SHOP ASSISTANT', 'CLERK',  'CLEANUP MEN'));
INSERT INTO CompanyEmpObject
  (Code, Company, Employees)
VALUES
  (4, 'Ford', TEmployees('MECHANICIAN', 'MANAGER'));</pre> <code lang="csharp">OracleConnection connection = new OracleConnection("User Id=scott;Password=tiger;Data Source=ora"); 
OracleCommand command = new OracleCommand("SELECT * FROM CompanyEmpObject", connection); 
connection.Open(); 
OracleDataReader dataReader = command.ExecuteReader(); 
try{ 
	int index = dataReader.GetOrdinal("Employees"); 
	while (dataReader.Read()) { 
		NativeOracleArray oraArray = dataReader.GetNativeOracleArray(index); 
		if (!oraArray.IsNull) { 
			string[] employees = new string[oraArray.Count]; 
			for (int i = 0; i &lt; oraArray.Count; i++) 
				employees[i] = (string)oraArray[i]; 
 
			Console.WriteLine("Company: " + dataReader.GetString(1)); 
			foreach (string str in employees) 
				Console.WriteLine("\t"+str); 
		} 
		else{ 
			Console.WriteLine("Company: " + dataReader.GetString(1)); 
			Console.WriteLine("No vacancies"); 
		} 
	} 
} 
catch (Devart.Data.Oracle.OracleException ex) { 
  Console.WriteLine(ex.Message); 
} 
finally{ 
  dataReader.Close(); 
  connection.Close(); 
} </code><code lang="vb">Dim connection As New OracleConnection("User Id=scott;Password=tiger;Data Source=ora")
Dim command As New OracleCommand("SELECT * FROM CompanyEmpObject", connection)
connection.Open()
Dim dataReader As OracleDataReader = command.ExecuteReader()
Try
	Dim index As Integer = dataReader.GetOrdinal("Employees")
  	While dataReader.Read()
		Dim oraArray As NativeOracleArray = dataReader.GetNativeOracleArray(index)
    	If Not oraArray.IsNull Then
			Dim employees(oraArray.Count) As String
			Dim I As Integer
			For I = 0 To oraArray.Count - 1
				employees(I) = oraArray(I)
      		Next I
      		Console.WriteLine("Company: " &amp; dataReader.GetString(1))
			For Each str As String In employees
        		Console.WriteLine(Chr(9) &amp; str)
      		Next
    	Else
      		Console.WriteLine("Company: " &amp; dataReader.GetString(1))
      		Console.WriteLine("No vacancies")
    	End If
  	End While
Catch ex As Devart.Data.Oracle.OracleException
  Console.WriteLine(ex.Message)
Finally
  dataReader.Close()
  connection.Close()
End Try </code></example>
    </member>
    <member name="M:Devart.Data.Oracle.NativeOracleArray.#ctor(Devart.Data.Oracle.OracleType,Devart.Data.Oracle.OracleConnection)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.NativeOracleArray" /> class of the specified type. </summary>
      <remarks>Use this constructor to create an <see cref="T:Devart.Data.Oracle.NativeOracleArray" /> and pass it as a parameter by assigning to <see cref="P:Devart.Common.DbParameterBase.Value" /> at the time of initialization. </remarks>
      <param name="objectType"> </param>
      <param name="connection">An <see cref="T:Devart.Data.Oracle.OracleConnection" /> used to describe object type at the Oracle server. </param>
      <overloads>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.NativeOracleArray" /> class. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.NativeOracleArray.#ctor(System.String,Devart.Data.Oracle.OracleConnection)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.NativeOracleArray" /> class of the specified type with the specified <see cref="T:Devart.Data.Oracle.OracleConnection" />. </summary>
      <remarks>Use this constructor to create an <see cref="T:Devart.Data.Oracle.NativeOracleArray" /> and pass it as a parameter by assigning to <see cref="P:Devart.Common.DbParameterBase.Value" /> at the time of initialization. </remarks>
      <param name="typeName">Name of the object type at the Oracle server. </param>
      <param name="connection">An <see cref="T:Devart.Data.Oracle.OracleConnection" /> used to describe object type at the Oracle server. </param>
    </member>
    <member name="M:Devart.Data.Oracle.NativeOracleArray.Add(System.Object)">
      <summary>Adds an object of specified <see cref="P:Devart.Data.Oracle.OracleType.ItemDbType" /> type to the end of the <see cref="T:Devart.Data.Oracle.NativeOracleArray" />. </summary>
      <remarks>If value of <see cref="P:Devart.Data.Oracle.NativeOracleArray.Count" /> property equals to <see cref="P:Devart.Data.Oracle.NativeOracleArray.Capacity" /> the <see cref="M:Devart.Data.Oracle.NativeOracleArray.Add" /> method raises an error. </remarks>
      <keywords>NativeOracleArray.Add method </keywords>
      <param name="value">The <see cref="T:System.Object" /> to be added to the end of the <see cref="T:Devart.Data.Oracle.NativeOracleArray" />. </param>
      <returns>The <see cref="T:Devart.Data.Oracle.NativeOracleArray" /> index at which the value has been added. </returns>
    </member>
    <member name="P:Devart.Data.Oracle.NativeOracleArray.Capacity">
      <summary>Gets the number of elements that the <see cref="T:Devart.Data.Oracle.NativeOracleArray" /> can contain. </summary>
      <remarks>The number of elements that the <see cref="T:Devart.Data.Oracle.NativeOracleArray" /> can contain is specified on creating VARRAY type at the Oracle server. For example, the value of <see cref="P:Devart.Data.Oracle.NativeOracleArray.Capacity" /> property for type 'VARRAY(5) OF NUMBER' is 5. </remarks>
      <keywords>NativeOracleArray.Capacity property </keywords>
      <value>The number of elements that the <see cref="T:Devart.Data.Oracle.NativeOracleArray" /> can contain. </value>
    </member>
    <member name="M:Devart.Data.Oracle.NativeOracleArray.Clear()">
      <summary>Removes all elements from the <see cref="T:Devart.Data.Oracle.NativeOracleArray" />. </summary>
      <keywords>NativeOracleArray.Clear method </keywords>
    </member>
    <member name="M:Devart.Data.Oracle.NativeOracleArray.Contains(System.Object)">
      <summary>Determines whether an element is in the <see cref="T:Devart.Data.Oracle.NativeOracleArray" />. </summary>
      <keywords>NativeOracleArray.Contains method </keywords>
      <param name="value">An <see cref="T:System.Object" /> to locate in the <see cref="T:Devart.Data.Oracle.NativeOracleArray" />. </param>
      <returns><see langword="true" /> if an item is found in the <see cref="T:Devart.Data.Oracle.NativeOracleArray" />; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.NativeOracleArray.CopyTo(System.Array,System.Int32)">
      <summary>Copies the entire <see cref="T:Devart.Data.Oracle.NativeOracleArray" /> to a compatible <see cref="T:System.Array" /> starting at the specified index. </summary>
      <remarks>The specified array must be of a compatible type. </remarks>
      <keywords>NativeOracleArray.CopyTo method </keywords>
      <param name="array">The <see cref="T:System.Array" /> where to copy elements from <see cref="T:Devart.Data.Oracle.NativeOracleArray" />. </param>
      <param name="index">The zero-based starting index. </param>
    </member>
    <member name="P:Devart.Data.Oracle.NativeOracleArray.Count">
      <summary>Gets the number of elements contained in the <see cref="T:Devart.Data.Oracle.NativeOracleArray" />. </summary>
      <keywords>NativeOracleArray.Count property </keywords>
      <value>The number of elements contained in the <see cref="T:Devart.Data.Oracle.NativeOracleArray" />. </value>
    </member>
    <member name="M:Devart.Data.Oracle.NativeOracleArray.GetEnumerator()">
      <summary>Returns an enumerator for the <see cref="T:Devart.Data.Oracle.NativeOracleArray" />. </summary>
      <remarks>Enumerators allow only reading the data in the collection and cannot be used to modify it. </remarks>
      <keywords>NativeOracleArray.GetEnumerator method </keywords>
      <returns>An enumerator for the <see cref="T:Devart.Data.Oracle.NativeOracleArray" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.NativeOracleArray.GetOracleValue(System.Int32)">
      <summary>Gets the value of the array element at the specified ordinal in its Oracle format. </summary>
      <remarks><see cref="M:Devart.Data.Oracle.NativeOracleArray.GetOracleValue(System.Int32)" /> returns data using the native Oracle types. To retrieve data using the .NET Framework types, see <see cref="P:Devart.Data.Oracle.NativeOracleArray.Item(System.Int32)" /> property. </remarks>
      <keywords>NativeOracleArray.GetOracleValue method </keywords>
      <param name="i">The zero-based element ordinal. </param>
      <returns>The value of the array element. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.NativeOracleArray.IndexOf(System.Object)">
      <summary>Gets the location in the collection of the <see cref="T:Devart.Data.Oracle.NativeOracleArray" /> object. </summary>
      <keywords>NativeOracleArray.IndexOf method </keywords>
      <param name="value">The <see cref="T:Devart.Data.Oracle.NativeOracleArray" /> object to find. </param>
      <returns>The zero-based location of the <see cref="T:Devart.Data.Oracle.NativeOracleArray" /> in the collection. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.NativeOracleArray.Insert(System.Int32,System.Object)">
      <summary>Inserts an <see cref="T:Devart.Data.Oracle.NativeOracleArray" /> into the collection at the specified index. </summary>
      <keywords>NativeOracleArray.Insert method </keywords>
      <param name="index">The zero-based index where the <see cref="T:Devart.Data.Oracle.NativeOracleArray" /> is to be inserted within the collection. </param>
      <param name="value">The <see cref="T:Devart.Data.Oracle.NativeOracleArray" /> object to add to the collection. </param>
    </member>
    <member name="P:Devart.Data.Oracle.NativeOracleArray.IsFixedSize">
      <summary>Gets a value indicating whether the <see cref="T:Devart.Data.Oracle.NativeOracleArray" /> has a fixed size. </summary>
      <remarks>A collection with a fixed size does not allow to add or remove elements after the collection is created, but it allows to modify already existing elements. </remarks>
      <keywords>NativeOracleArray.IsFixedSize property </keywords>
      <value><see langword="true" /> if the <see cref="T:Devart.Data.Oracle.NativeOracleArray" /> has a fixed size; otherwise, <see langword="false" />. </value>
    </member>
    <member name="P:Devart.Data.Oracle.NativeOracleArray.IsReadOnly">
      <summary>Gets a value indicating whether the <see cref="T:Devart.Data.Oracle.NativeOracleArray" /> is read-only. </summary>
      <remarks>A collection that is read-only does not allow the add, remove, or modify elements after the collection is created. </remarks>
      <keywords>NativeOracleArray.IsReadOnly property </keywords>
      <value><see langword="true" /> if the <see cref="T:Devart.Data.Oracle.NativeOracleArray" /> is read-only; otherwise, <see langword="false" />. </value>
    </member>
    <member name="P:Devart.Data.Oracle.NativeOracleArray.IsSynchronized">
      <summary>Gets a value indicating whether access to the <see cref="T:Devart.Data.Oracle.NativeOracleArray" /> is synchronized (thread-safe). </summary>
      <keywords>NativeOracleArray.IsSynchronized property </keywords>
      <value><see langword="true" /> if access to the <see cref="T:Devart.Data.Oracle.NativeOracleArray" /> is synchronized (thread-safe); otherwise, <see langword="false" />. </value>
    </member>
    <member name="P:Devart.Data.Oracle.NativeOracleArray.Item(System.Int32)">
      <summary>Gets or sets the element at the specified index. </summary>
      <keywords>NativeOracleArray.Item property </keywords>
      <param name="index"> </param>
      <value>The element at the specified index. </value>
    </member>
    <member name="M:Devart.Data.Oracle.NativeOracleArray.Remove(System.Object)">
      <summary>Removes the specified element from the <see cref="T:Devart.Data.Oracle.NativeOracleArray" />. </summary>
      <keywords>NativeOracleArray.Remove method </keywords>
      <param name="value">The <see cref="T:System.Object" /> to remove from the <see cref="T:Devart.Data.Oracle.NativeOracleArray" />. </param>
    </member>
    <member name="M:Devart.Data.Oracle.NativeOracleArray.RemoveAt(System.Int32)">
      <summary>Removes the element at the specified index from the <see cref="T:Devart.Data.Oracle.NativeOracleArray" />. </summary>
      <keywords>NativeOracleArray.RemoveAt method </keywords>
      <param name="index"> </param>
    </member>
    <member name="P:Devart.Data.Oracle.NativeOracleArray.SyncRoot">
      <summary>Gets an object that can be used to synchronize access to the <see cref="T:Devart.Data.Oracle.NativeOracleArray" />. </summary>
      <keywords>NativeOracleArray.SyncRoot property </keywords>
      <value>An <see cref="T:System.Object" /> that can be used to synchronize access to the <see cref="T:Devart.Data.Oracle.NativeOracleArray" />. </value>
    </member>
    <member name="P:Devart.Data.Oracle.NativeOracleArray.Value">
      <summary>Gets the value of the <see cref="T:Devart.Data.Oracle.NativeOracleArray" /> as .NET Framework array of the elements of the same type. </summary>
      <keywords>NativeOracleArray.Value property </keywords>
      <value>An <see cref="T:System.Array" /> with <see cref="T:Devart.Data.Oracle.NativeOracleArray" /> data. </value>
    </member>
    <member name="T:Devart.Data.Oracle.NativeOracleObject">
      <summary>Represents a Oracle object of type defined by user. </summary>
      <remarks><para>This class is a wrapper around OCI objects, and is intended for use in connected data access model.
To retrieve values of object attributes the <see cref="T:Devart.Data.Oracle.NativeOracleObject" /> class uses <see cref="P:Devart.Data.Oracle.NativeOracleObject.Item" /> indexed property.</para>

<para>You can create an instance of <see cref="T:Devart.Data.Oracle.NativeOracleObject" /> by one of the following ways:</para>
<para>  - execute a query that returns an object as one of the fields calling <see cref="M:Devart.Data.Oracle.OracleDataReader.GetNativeOracleObject(System.Int32)" /> method;</para>
<para>  - return an <see cref="T:Devart.Data.Oracle.NativeOracleObject" /> instance as a parameter value of <see cref="T:Devart.Data.Oracle.OracleDbType" />.Object type;</para>
<para>  - get object reference (<see cref="T:Devart.Data.Oracle.OracleRef" />), call <see cref="M:Devart.Data.Oracle.OracleRef.Pin" /> method and get <see cref="T:Devart.Data.Oracle.NativeOracleObject" /> by calling <see cref="M:Devart.Data.Oracle.OracleRef.GetObject" /> method;</para>
<para>  - get the <see cref="T:Devart.Data.Oracle.NativeOracleObject" /> as a value of owned <see cref="T:Devart.Data.Oracle.NativeOracleObject" /> attribute.</para>

<para>Also you can create an instance of <see cref="T:Devart.Data.Oracle.NativeOracleObject" /> manually.</para>

<para>You can use <see cref="T:Devart.Data.Oracle.NativeOracleObject" /> to pass object as a parameter value and post updated data to the server using <see cref="M:Devart.Data.Oracle.NativeOracleObjectBase.Flush" /> method for the pinned object received by <see cref="T:Devart.Data.Oracle.OracleRef" />.</para>
<para>Note that <see cref="T:Devart.Data.Oracle.NativeOracleObject" /> can be used in data binding with <b>DataGrid</b> as it implements <b>IListSource</b> interface.</para>
<para>This class is not available in <see cref="P:Devart.Data.Oracle.OracleConnection.Direct" /> mode.</para> </remarks>
      <example><para>This example demonstrates how to retrieve a NativeOracleObject instance from the server and display its elements. To create required type and table and fill it with data you can use the following script:</para> 
<pre>
CREATE TYPE TAddress AS OBJECT (
  Country VARCHAR2(30),
  City VARCHAR2(30),
  Street VARCHAR2(30),
  Apartment NUMBER
);

CREATE TABLE EmpObject (
  Code NUMBER PRIMARY KEY,
  Person VARCHAR2(40),
  Address TAddress,
  Job VARCHAR2(9)
);

INSERT INTO EmpObject
  (Code, Person, Address, Job)
VALUES
  (1, 'SMITH', TAddress('UK', 'London', 'Street', 12), 'CLERK');
INSERT INTO EmpObject
  (Code, Person, Address, Job)
VALUES
  (2, 'JONES', TAddress('USA', 'New York', 'Street', 418), 'MANAGER');
INSERT INTO EmpObject
  (Code, Person, Address, Job)
VALUES
  (3, 'SCOTT', TAddress('CANADA', 'Ottawa', 'Street', 26),'PRESIDENT');
INSERT INTO EmpObject
  (Code, Person, Address, Job)
VALUES
  (4, 'MARTIN', TAddress('FRANCE', 'Paris', 'Street', 162), 'ANALYST');
</pre> <code lang="csharp">OracleConnection connection = new OracleConnection("User Id=scott;Password=tiger;Data Source=ora"); 
OracleCommand command = new OracleCommand("SELECT * FROM EmpObject", connection); 
connection.Open(); 
OracleDataReader dataReader = command.ExecuteReader(); 
try{ 
	int index = dataReader.GetOrdinal("Address"); 
	while (dataReader.Read()) { 
		NativeOracleObject oraObj = dataReader.GetNativeOracleObject(index); 
		if (!oraObj.IsNull) { 
			string country = (string)oraObj["Country"]; 
			string city = (string)oraObj["City"]; 
			string street = (string)oraObj["Street"]; 
			decimal Apartment = (decimal)oraObj["Apartment"]; 
			Console.WriteLine(dataReader.GetString(0) + "   " + dataReader.GetString(1) + "   " + "Adress: " + country + ", " + city + ", " + street + ", "+ Apartment.ToString() + "   " + dataReader.GetString(3)); 
		} 
	} 
} 
catch (Devart.Data.Oracle.OracleException ex) { 
  Console.WriteLine(ex.Message); 
} 
finally{ 
  dataReader.Close(); 
  connection.Close(); 
} </code><code lang="vb">Dim connection As New OracleConnection("User Id=scott;Password=tiger;Data Source=ora")
Dim command As New OracleCommand("SELECT * FROM EmpObject", connection)
connection.Open()
Dim dataReader As OracleDataReader = command.ExecuteReader()
Try
	Dim index As Integer = dataReader.GetOrdinal("Address")
  	While dataReader.Read()
		Dim oraObj As NativeOracleObject = dataReader.GetNativeOracleObject(index)
    	If Not oraObj.IsNull Then
			Dim country As String = oraObj("Country")
			Dim city As String = oraObj("City")
			Dim street As String = oraObj("Street")
			Dim Apartment As Decimal = oraObj("Apartment")
      		Console.WriteLine(dataReader.GetString(0) &amp; " " &amp; dataReader.GetString(1) &amp; " " &amp; "Adress: " &amp; country &amp; ", " &amp; city &amp; ", " &amp; street &amp; ", " &amp; Apartment.ToString() &amp; " " &amp; dataReader.GetString(3))
    	End If
  	End While
Catch ex As Devart.Data.Oracle.OracleException
  Console.WriteLine(ex.Message)
Finally
  dataReader.Close()
  connection.Close()
End Try </code></example>
    </member>
    <member name="M:Devart.Data.Oracle.NativeOracleObject.#ctor(Devart.Data.Oracle.OracleType,Devart.Data.Oracle.OracleConnection)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.NativeOracleObject" /> class. </summary>
      <remarks>Use this constructor to create an <see cref="T:Devart.Data.Oracle.NativeOracleObject" /> and pass it as a parameter by assigning to <see cref="P:Devart.Common.DbParameterBase.Value" /> at the time of <see cref="T:Devart.Data.Oracle.OracleParameter" /> initialization. </remarks>
      <param name="objectType"> </param>
      <param name="connection">An <see cref="T:Devart.Data.Oracle.OracleConnection" /> used to describe object type at the Oracle server. </param>
      <overloads>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.NativeOracleObject" /> class. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.NativeOracleObject.#ctor(System.String,Devart.Data.Oracle.OracleConnection)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.NativeOracleObject" /> class. </summary>
      <remarks>Use this constructor to create an <see cref="T:Devart.Data.Oracle.NativeOracleObject" /> and pass it as a parameter by assigning to <see cref="P:Devart.Common.DbParameterBase.Value" /> at the time of <see cref="T:Devart.Data.Oracle.OracleParameter" /> initialization. </remarks>
      <param name="typeName">Name of the object type at the Oracle server. </param>
      <param name="connection">An <see cref="T:Devart.Data.Oracle.OracleConnection" /> used to describe object type at the Oracle server. </param>
    </member>
    <member name="M:Devart.Data.Oracle.NativeOracleObject.GetOracleValue(Devart.Data.Oracle.OracleAttribute)">
      <summary>Gets the value of the attribute in its Oracle format wrapped by dotConnect for Oracle. </summary>
      <remarks><see cref="M:Devart.Data.Oracle.NativeOracleObject.GetOracleValue(Devart.Data.Oracle.OracleAttribute)" /> returns data using the native Oracle types. To retrieve data using the .NET Framework types, see <see cref="P:Devart.Data.Oracle.NativeOracleObject.Item(Devart.Data.Oracle.OracleAttribute)" /> property. </remarks>
      <keywords>NativeOracleObject.GetOracleValue method </keywords>
      <param name="attribute">An <see cref="T:Devart.Data.Oracle.OracleAttribute" /> object. </param>
      <returns>The value of the attribute as the dotConnect for Oracle wrapped type. </returns>
      <overloads>Gets the value of the attribute in its Oracle format wrapped by dotConnect for Oracle. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.NativeOracleObject.GetOracleValue(System.String)">
      <summary>Gets the value of the attribute in its Oracle format wrapped by dotConnect for Oracle. </summary>
      <remarks><see cref="M:Devart.Data.Oracle.NativeOracleObject.GetOracleValue(System.String)" /> returns data using the native Oracle types. To retrieve data using the .NET Framework types, see <see cref="P:Devart.Data.Oracle.NativeOracleObject.Item(Devart.Data.Oracle.OracleAttribute)" /> property. </remarks>
      <keywords>NativeOracleObject.GetOracleValue method </keywords>
      <param name="attributeName">String that represents a full path to the attribute or the element of the array. </param>
      <returns>The value of the attribute as the dotConnect for Oracle wrapped type. </returns>
    </member>
    <member name="P:Devart.Data.Oracle.NativeOracleObject.IsNull">
      <summary>Indicates whether or not the <see cref="T:Devart.Data.Oracle.NativeOracleObject" /> represents a null value. </summary>
      <keywords>NativeOracleObject.IsNull property </keywords>
      <value><see langword="true" /> if the <see cref="T:Devart.Data.Oracle.NativeOracleObject" /> represents a null value; otherwise, <see langword="false" />. </value>
    </member>
    <member name="P:Devart.Data.Oracle.NativeOracleObject.Item(Devart.Data.Oracle.OracleAttribute)">
      <summary>Gets or sets the value of the specified attribute. </summary>
      <remarks>The <see cref="P:Devart.Data.Oracle.NativeOracleObject.Item(Devart.Data.Oracle.OracleAttribute)" /> property allows retrieving values of the attributes of the <see cref="T:Devart.Data.Oracle.NativeOracleObject" />. </remarks>
      <keywords>NativeOracleObject.Item property </keywords>
      <param name="attribute">An <see cref="T:Devart.Data.Oracle.OracleAttribute" /> object. </param>
      <value>The value of the specified attribute. </value>
    </member>
    <member name="T:Devart.Data.Oracle.NativeOracleObjectBase">
      <summary>Represents an object of any Oracle object type defined by the user (Object, VARRAY or Nested table). </summary>
      <remarks>The <see cref="T:Devart.Data.Oracle.NativeOracleObjectBase" /> class represents common interface to access attributes of the object and elements of the array by <see cref="P:Devart.Data.Oracle.NativeOracleObjectBase.Item" /> indexed property.
<para>This class is not available in <see cref="P:Devart.Data.Oracle.OracleConnection.Direct" /> mode.</para> </remarks>
    </member>
    <member name="M:Devart.Data.Oracle.NativeOracleObjectBase.#ctor(Devart.Data.Oracle.OracleType,Devart.Data.Oracle.OracleConnection)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.NativeOracleObjectBase" /> class. </summary>
      <remarks>Use this constructor to create an <see cref="T:Devart.Data.Oracle.NativeOracleObjectBase" /> and pass it as a parameter by assigning to <see cref="P:Devart.Common.DbParameterBase.Value" /> at the time of <see cref="T:Devart.Data.Oracle.OracleParameter" /> initialization. </remarks>
      <param name="objectType"> </param>
      <param name="connection">An <see cref="T:Devart.Data.Oracle.OracleConnection" /> used to describe object type at the Oracle server. </param>
    </member>
    <member name="M:Devart.Data.Oracle.NativeOracleObjectBase.Dispose()">
      <summary>Disposes the resources allocated by the <see cref="T:Devart.Data.Oracle.NativeOracleObjectBase" /> object. </summary>
      <remarks>After closing <see cref="T:Devart.Data.Oracle.NativeOracleObjectBase" /> object call of any method of this object will throw an <see cref="T:System.ObjectDisposedException" />. </remarks>
      <keywords>NativeOracleObjectBase.Dispose method </keywords>
    </member>
    <member name="M:Devart.Data.Oracle.NativeOracleObjectBase.Flush()">
      <summary>Flushes updated data to the server. </summary>
      <remarks><para>Use the <see cref="M:Devart.Data.Oracle.NativeOracleObjectBase.Flush" /> method to update data at the server for the object received by <see cref="T:Devart.Data.Oracle.OracleRef" />. When the object is written to the server, triggers may be fired. Objects can be modified by the triggers at the server. To keep the objects in the object cache being coherent with the database, the clients can free or refresh the objects in the cache.</para> </remarks>
      <keywords>NativeOracleObjectBase.Flush method </keywords>
    </member>
    <member name="P:Devart.Data.Oracle.NativeOracleObjectBase.IsNull">
      <summary>Indicates whether or not the <see cref="T:Devart.Data.Oracle.NativeOracleObject" /> represents a null value. </summary>
      <keywords>NativeOracleObjectBase.IsNull property </keywords>
      <value><see langword="true" /> if the <see cref="T:Devart.Data.Oracle.NativeOracleObject" /> represents a null value; otherwise, <see langword="false" />. </value>
    </member>
    <member name="P:Devart.Data.Oracle.NativeOracleObjectBase.Item(System.String)">
      <summary>Gets or sets the <see cref="T:Devart.Data.Oracle.OracleAttribute" /> or <see cref="T:Devart.Data.Oracle.OracleArray" /> element by the specified path. </summary>
      <keywords>NativeOracleObjectBase.Item property </keywords>
      <param name="Name">String that represents a full path to the attribute or the element of the array. Note that it is case-sensitive. </param>
      <value>An <see cref="T:Devart.Data.Oracle.OracleAttribute" /> or <see cref="T:Devart.Data.Oracle.OracleArray" /> element by the specified path. </value>
    </member>
    <member name="P:Devart.Data.Oracle.NativeOracleObjectBase.ObjectType">
      <summary>Gets an <see cref="T:Devart.Data.Oracle.OracleType" /> of the specified object. </summary>
      <keywords>NativeOracleObjectBase.ObjectType property </keywords>
      <value>An <see cref="T:Devart.Data.Oracle.OracleType" /> of the specified object. </value>
    </member>
    <member name="M:Devart.Data.Oracle.NativeOracleObjectBase.Refresh()">
      <summary>Refreshes object data from the server. </summary>
      <remarks><para>The <see cref="M:Devart.Data.Oracle.NativeOracleObjectBase.Refresh" /> method is executable for the objects received by <see cref="T:Devart.Data.Oracle.OracleRef" />. </para>

<para>In case if the <see cref="T:Devart.Data.Oracle.NativeOracleObjectBase" /> contains triggers which modify values of the object attributes it is necessary to update data after calling the <see cref="M:Devart.Data.Oracle.NativeOracleObjectBase.Flush" /> method.</para> </remarks>
      <keywords>NativeOracleObjectBase.Refresh method </keywords>
    </member>
    <member name="T:Devart.Data.Oracle.NativeOracleTable">
      <summary>Represents Oracle Nested table type. </summary>
      <remarks><para>The behavior of the <see cref="T:Devart.Data.Oracle.NativeOracleTable" /> is similar to <see cref="T:Devart.Data.Oracle.NativeOracleArray" /> class. The main difference is that <see cref="T:Devart.Data.Oracle.NativeOracleTable" /> can contain unlimited number of the elements.</para>
<para>This class represents OCI nested tables, and is intended for use in connected data access model.</para>
<para>Note that <see cref="T:Devart.Data.Oracle.NativeOracleTable" /> can be used in data binding with <b>DataGrid</b> as it implements <b>IListSource</b> interface.</para>
<para>This class is not available in <see cref="P:Devart.Data.Oracle.OracleConnection.Direct" /> mode.</para> </remarks>
      <example><para>This example demonstrates how to retrieve a NativeOracleTable object from the server and display its elements. To create required type and table and fill it with data you can use the following script: </para>
<pre>CREATE OR REPLACE TYPE TEmployees AS 
  TABLE OF VARCHAR2(40);

CREATE TABLE CompanyEmpObject (
  Code NUMBER PRIMARY KEY,
  Company VARCHAR2(40),
  Employees TEmployees	
)NESTED TABLE Employees STORE AS N_TAB;

INSERT INTO CompanyEmpObject
  (Code, Company, Employees)
VALUES
  (1, 'Microsoft', TEmployees('PROGRAMMER', 'MANAGER', 'ELECTRICIAN', 'CLEANUP MEN'));
INSERT INTO CompanyEmpObject
  (Code, Company, Employees)
VALUES
  (2, 'Borland', TEmployees('PROGRAMMER', 'ELECTRICIAN', 'COURIER'));
INSERT INTO CompanyEmpObject
  (Code, Company, Employees)
VALUES
  (3, 'MC Donalds', TEmployees('SHOP ASSISTANT', 'CLERK',  'CLEANUP MEN'));
INSERT INTO CompanyEmpObject
  (Code, Company, Employees)
VALUES
  (4, 'Ford', TEmployees('MECHANICIAN', 'MANAGER'));</pre> <code lang="csharp">OracleConnection connection = new OracleConnection("User Id=scott;Password=tiger;Data Source=ora"); 
OracleCommand command = new OracleCommand("SELECT * FROM CompanyEmpObject", connection); 
connection.Open(); 
OracleDataReader dataReader = command.ExecuteReader(); 
try{ 
    int index = dataReader.GetOrdinal("Employees"); 
    while (dataReader.Read()) { 
	    NativeOracleTable oraTable = dataReader.GetNativeOracleTable(index); 
     	if (!oraTable.IsNull) { 
			string[] employees = new string[oraTable.Count]; 
			for (int i = 0; i &lt; oraTable.Count; i++) 
				employees[i] = (string)oraTable[i]; 
 
			Console.WriteLine("Company: " + dataReader.GetString(1)); 
			foreach (string str in employees) 
				Console.WriteLine("\t" + str); 
		} 
		else{ 
			Console.WriteLine("Company: " + dataReader.GetString(1)); 
			Console.WriteLine("No vacancies"); 
		} 
	} 
} 
catch (Devart.Data.Oracle.OracleException ex) { 
  Console.WriteLine(ex.Message); 
} 
finally{ 
  dataReader.Close(); 
  connection.Close(); 
} 
Console.ReadLine(); </code><code lang="vb">Dim connection As New OracleConnection("User Id=scott;Password=tiger;Data Source=ora")
Dim command As New OracleCommand("SELECT * FROM CompanyEmpObject", connection)
connection.Open()
Dim dataReader As OracleDataReader = command.ExecuteReader()
Try
	Dim index As Integer = dataReader.GetOrdinal("Employees")
  	While dataReader.Read()
		Dim oraTable As NativeOracleTable = dataReader.GetNativeOracleTable(index)
    	If Not oraTable.IsNull Then
			Dim employees(oraTable.Count) As String
			Dim I As Integer
			For I = 0 To oraTable.Count - 1
				employees(I) = oraTable(I)
	        Next I
      		Console.WriteLine("Company: " &amp; dataReader.GetString(1))
			For Each str As String In employees
        		Console.WriteLine(Chr(9) &amp; str)
      		Next
    	Else
      		Console.WriteLine("Company: " &amp; dataReader.GetString(1))
      		Console.WriteLine("No vacancies")
    End If
  End While
Catch ex As Devart.Data.Oracle.OracleException
  Console.WriteLine(ex.Message)
Finally
  dataReader.Close()
  connection.Close()
End Try </code></example>
    </member>
    <member name="M:Devart.Data.Oracle.NativeOracleTable.#ctor(Devart.Data.Oracle.OracleType,Devart.Data.Oracle.OracleConnection)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.NativeOracleTable" /> class. </summary>
      <param name="objectType"> </param>
      <param name="connection">An <see cref="T:Devart.Data.Oracle.OracleConnection" /> to use. </param>
      <overloads>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.NativeOracleTable" /> class. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.NativeOracleTable.#ctor(System.String,Devart.Data.Oracle.OracleConnection)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.NativeOracleTable" /> class. </summary>
      <param name="typeName">The name of the type on the server. </param>
      <param name="connection">An <see cref="T:Devart.Data.Oracle.OracleConnection" /> to use. </param>
    </member>
    <member name="T:Devart.Data.Oracle.OnChangeEventHandler">
      <summary>Represents the method that will handle the <see cref="E:Devart.Data.Oracle.OracleDependency.OnChange" /> event of an <see cref="T:Devart.Data.Oracle.OracleDependency" />. </summary>
      <remarks>When you create an <see cref="T:Devart.Data.Oracle.OracleLoaderErrorEventArgs" /> delegate, you identify the method that will handle the event. To associate the event with your event handler, add an instance of the delegate to the event. The event handler is called whenever the event occurs, unless you remove the delegate. For more information about event handler delegates, see "Events and Delegates" in the .NET Framework SDK documentation. </remarks>
      <keywords>OnChangeEventHandler delegate </keywords>
      <param name="sender">The source of the event. </param>
      <param name="eventArgs">An <see cref="T:Devart.Data.Oracle.OracleNotificationEventArgs" /> object that contains the event data. </param>
    </member>
    <member name="T:Devart.Data.Oracle.OracleAlert">
      <summary>Represents Oracle alert message. </summary>
      <seealso cref="M:Devart.Data.Oracle.OracleAlerter.WaitAlert()" />
    </member>
    <member name="M:Devart.Data.Oracle.OracleAlert.#ctor(System.String,System.String)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleAlert" /> class. </summary>
      <param name="name">The name of the alert. </param>
      <param name="message">The message contents. </param>
    </member>
    <member name="P:Devart.Data.Oracle.OracleAlert.Message">
      <summary>Gets the message contents. </summary>
      <keywords>OracleAlert.Message property </keywords>
      <value>A string that represents message contents. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleAlert.Name">
      <summary>Gets the name of the alert. </summary>
      <keywords>OracleAlert.Name property </keywords>
      <value>A string that represents message name. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleAlert.ToString()">
      <summary>Returns string representation of the object. </summary>
      <keywords>OracleAlert.ToString method </keywords>
      <returns>The string representation of the object. </returns>
    </member>
    <member name="T:Devart.Data.Oracle.OracleAlerter">
      <summary>Manages Oracle alerts. </summary>
      <remarks><para>This class is designed to subscribe to alert messages, and transfer them between client and Oracle server.</para>
<para>
On server side, package DBMS_ALERT lets you use database triggers to alert an application when specific database values change. The alerts are transaction based and asynchronous.
</para>
<para>
On client side, use <see cref="M:Devart.Data.Oracle.OracleAlerter.Start" /> and <see cref="M:Devart.Data.Oracle.OracleAlerter.Stop" /> methods to listen to alert events, and <see cref="M:Devart.Data.Oracle.OracleAlerter.Signal(System.String)" /> method to send message to Oracle server. You can also use the <see cref="M:Devart.Data.Oracle.OracleAlerter.WaitAlert()" /> method to wait for single alerts.
</para>
<para>There are two principal schemes for receiving alerts from server. First, you can use the <see cref="M:Devart.Data.Oracle.OracleAlerter.WaitAlert()" /> method to wait for alerts during a <see cref="P:Devart.Data.Oracle.OracleAlerter.Timeout" />. After an alert is received or the timeout expires the <see cref="T:Devart.Data.Oracle.OracleAlerter" /> does not continue to monitor the alerts. If you need to listen to the alerts continuously, use the <see cref="M:Devart.Data.Oracle.OracleAlerter.Start()" /> method. The method monitors the alerts through cloned connection during <see cref="P:Devart.Data.Oracle.OracleAlerter.Timeout" />, then pauses during <see cref="P:Devart.Data.Oracle.OracleAlerter.Interval" />, then again monitors during <see cref="P:Devart.Data.Oracle.OracleAlerter.Timeout" />, and so on. </para>
<para>This class is available only in Professional and Developer Editions. It is not available in Standard and Mobile Editions.</para> </remarks>
      <example>The following sample shows how an alert can be received in the Start/Stop mode of OracleAlerter. We send an alert message by one instance of OracleAlerter and receive this message asynchronously using another OracleAlerter. <code lang="csharp">static void Main(string[] args) {
	// Open a connection to the Oracle server.       
	OracleConnection con = new OracleConnection("Server = ora; User Id = sys; Password = pwd; Mode = SysDba");
	con.Open();

	// Create the OracleAlerter instance and register it for the "my_alert" Oracle Alert.      
	OracleAlerter alerter = new OracleAlerter();
	alerter.Connection = con;
	alerter.AlertName = "my_alert";
	alerter.Timeout = 5;
	alerter.Interval = 0;

	// Set the event handler for receiving an alert.
	alerter.Alert += new OracleAlerterAlertEventHandler(Alerter_OnAlert);

	// Start the alerter. It will wait for alerts and fire the OnAlert event when any is received.
	alerter.Start();

	// Pause the thread to wait until the alerter begins listening. 
	Thread.Sleep(2000);

	// Another instance of OracleAlerter is used to generate the alert.
	// alertGenerator uses the same connection and alert name as the alerter object.
	OracleAlerter alertGenerator = new OracleAlerter();
	alertGenerator.Connection = con;
	alertGenerator.AlertName = "my_alert";

	// Send an alert to the server. At this moment alerter should raise the Alert event.
	alertGenerator.Signal("An alert message.");

	// Make a pause to wait until the alert is created and processed.
	Thread.Sleep(2000);

	// Stop listening to alerts.
	alerter.Stop();

	Console.Read();      
	con.Close();
}

    // Simple event handler for the OnAlert event.
public static void Alerter_OnAlert(object sender, OracleAlerterAlertEventArgs e) {
	Console.WriteLine("Got an alert: " + e.AlertMessage);
} </code><code lang="vb">Sub Main(ByVal args As String())

	' Open a connection to the Oracle server.
	Dim con As New OracleConnection("Server = ora; User Id = sys; Password = pwd; Mode = SysDba")
	con.Open()

	' Create the OracleAlerter instance and register it for the "my_alert" Oracle Alert.
	Dim alerter As New OracleAlerter
	alerter.Connection = con
	alerter.AlertName = "my_alert"
	alerter.Timeout = 5
	alerter.Interval = 0

	' Set the event handler for receiving an alert.
	AddHandler alerter.Alert, New OracleAlerterAlertEventHandler(AddressOf Alerter_OnAlert)

	' Start the alerter. It will wait for alerts and fire the OnAlert event when any is received.
	alerter.Start()

	' Pause the thread to wait until the alerter begins listening.
	Thread.Sleep(2000)

	' Another instance of OracleAlerter is used to generate the alert.
	' alertGenerator uses the same connection and alert name as the alerter object.
	Dim alertGenerator As New OracleAlerter
	alertGenerator.Connection = con
	alertGenerator.AlertName = "my_alert"

	' Send an alert to the server. At this moment alerter should raise the Alert event.
	alertGenerator.Signal("An alert message.")

	'Make a pause to wait until the alert is created and processed.        
	Thread.Sleep(2000)

	' Stop listening to alerts.
	alerter.Stop()

	Console.Read()
	con.Close()
End Sub

    ' Simple event handler for the OnAlert event.
Public Sub Alerter_OnAlert(ByVal sender As Object, ByVal e As OracleAlerterAlertEventArgs)
	Console.WriteLine(("Got an alert: " &amp; e.AlertMessage))
End Sub </code></example>
    </member>
    <member name="M:Devart.Data.Oracle.OracleAlerter.#ctor()">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleAlerter" /> class. </summary>
      <overloads>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleAlerter" /> class. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleAlerter.#ctor(Devart.Data.Oracle.OracleConnection,System.String)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleAlerter" /> class. </summary>
      <param name="connection">An <see cref="T:Devart.Data.Oracle.OracleConnection" /> to use. </param>
      <param name="alertName">Name of the alert on the server. </param>
    </member>
    <member name="P:Devart.Data.Oracle.OracleAlerter.Active">
      <summary>Gets or sets a value indicating whether dotConnect for Oracle listens to alerts on a server. </summary>
      <keywords>OracleAlerter.Active property </keywords>
      <value><see langword="true" /> if alerts are monitored; otherwise, <see langword="false" />. </value>
    </member>
    <member name="E:Devart.Data.Oracle.OracleAlerter.Alert">
      <summary>Occurs when an alert is received. </summary>
      <remarks><para>
This event is invoked when the <see cref="T:Devart.Data.Oracle.OracleAlerter" /> is started with the <see cref="M:Devart.Data.Oracle.OracleAlerter.Start()" /> method. The <see cref="M:Devart.Data.Oracle.OracleAlerter.WaitAlert()" /> method does not trigger the <see cref="E:Devart.Data.Oracle.OracleAlerter.Alert" /> event.
</para>
<para>
The event handler receives an argument of <see cref="T:Devart.Data.Oracle.OracleAlerterAlertEventArgs" /> type containing data related to this event.
</para> </remarks>
      <seealso cref="M:Devart.Data.Oracle.OracleAlerter.WaitAlert()" />
      <seealso cref="T:Devart.Data.Oracle.OracleAlerterAlertEventArgs" />
      <seealso cref="T:Devart.Data.Oracle.OracleAlerterAlertEventHandler" />
      <keywords>OracleAlerter.Alert event </keywords>
    </member>
    <member name="P:Devart.Data.Oracle.OracleAlerter.AlertName">
      <summary>Gets or sets name of the alerts on the server. </summary>
      <remarks>You cannot change this property while <see cref="T:Devart.Data.Oracle.OracleAlerter" /> is active (started or waiting). </remarks>
      <keywords>OracleAlerter.AlertName property </keywords>
      <value>The name of the alerts to watch for. This name is also used for sending alerts. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleAlerter.Connection">
      <summary>Gets or sets <see cref="T:Devart.Data.Oracle.OracleConnection" /> used by <see cref="T:Devart.Data.Oracle.OracleAlerter" />. </summary>
      <remarks>This connection is cloned and used for listening to alerts when you invoke <see cref="M:Devart.Data.Oracle.OracleAlerter.Start()" /> for the first time. On the contrary, the <see cref="M:Devart.Data.Oracle.OracleAlerter.WaitAlert()" /> method does not clone the connection. </remarks>
      <keywords>OracleAlerter.Connection property </keywords>
      <value>An <see cref="T:Devart.Data.Oracle.OracleConnection" /> instance. </value>
    </member>
    <member name="E:Devart.Data.Oracle.OracleAlerter.Error">
      <summary>Occurs when an error is trapped during message send or receive. </summary>
      <remarks><para>
The event handler receives an argument of <see cref="T:Devart.Data.Oracle.OracleAlerterErrorEventArgs" /> type containing data related to this event.
</para> </remarks>
      <keywords>OracleAlerter.Error event </keywords>
    </member>
    <member name="P:Devart.Data.Oracle.OracleAlerter.Interval">
      <summary>Gets or sets alert poll period. </summary>
      <remarks>The value of this property affects behavior of the <see cref="T:Devart.Data.Oracle.OracleAlerter" /> when the <see cref="M:Devart.Data.Oracle.OracleAlerter.Start()" /> method is used. If the <see cref="P:Devart.Data.Oracle.OracleAlerter.Interval" /> is -1, <see cref="T:Devart.Data.Oracle.OracleAlerter" /> waits for alerts during the <see cref="P:Devart.Data.Oracle.OracleAlerter.Timeout" /> period and then automatically stops. If the <see cref="P:Devart.Data.Oracle.OracleAlerter.Interval" /> is 0, <see cref="T:Devart.Data.Oracle.OracleAlerter" /> monitors the alerts infinitely. If the <see cref="P:Devart.Data.Oracle.OracleAlerter.Interval" /> property is set to a positive integer value, this value represents pauses between two consequent monitoring periods. </remarks>
      <seealso cref="P:Devart.Data.Oracle.OracleAlerter.Timeout" />
      <keywords>OracleAlerter.Interval property </keywords>
      <value>A number in seconds that represents interval between two consequent monitoring periods. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleAlerter.Signal(System.String)">
      <summary>Sends a message to Oracle server. </summary>
      <keywords>OracleAlerter.Signal method </keywords>
      <param name="alertMessage">Message contents. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleAlerter.Start()">
      <summary>Enables listening to Oracle server. </summary>
      <remarks>This method sets <see cref="P:Devart.Data.Oracle.OracleAlerter.Active" /> property to <see langword="true" />. </remarks>
      <seealso cref="M:Devart.Data.Oracle.OracleAlerter.Stop()" />
      <seealso cref="M:Devart.Data.Oracle.OracleAlerter.WaitAlert()" />
      <keywords>OracleAlerter.Start method </keywords>
    </member>
    <member name="M:Devart.Data.Oracle.OracleAlerter.Stop()">
      <summary>Disables listening to Oracle server. </summary>
      <remarks>This method sets <see cref="P:Devart.Data.Oracle.OracleAlerter.Active" /> property to <see langword="false" />. </remarks>
      <seealso cref="M:Devart.Data.Oracle.OracleAlerter.Start()" />
      <seealso cref="E:Devart.Data.Oracle.OracleAlerter.Stopped" />
      <keywords>OracleAlerter.Stop method </keywords>
    </member>
    <member name="E:Devart.Data.Oracle.OracleAlerter.Stopped">
      <summary>Occurs when listening to server gets disabled. </summary>
      <remarks><para>
The event handler receives an argument of <see cref="T:Devart.Data.Oracle.OracleAlerterFinishEventArgs" /> type containing data related to this event.
</para> </remarks>
      <seealso cref="T:Devart.Data.Oracle.OracleAlerterFinishEventArgs" />
      <seealso cref="T:Devart.Data.Oracle.OracleAlerterFinishEventHandler" />
      <seealso cref="M:Devart.Data.Oracle.OracleAlerter.Stop()" />
      <keywords>OracleAlerter.Stopped event </keywords>
    </member>
    <member name="P:Devart.Data.Oracle.OracleAlerter.Timeout">
      <summary>Gets or sets maximum time in seconds to wait for message to be received. </summary>
      <remarks>The range of acceptable values is from 1 to 86400000. Setting the timeout to -1 is the same as setting it to 86400000. If the timeout is set to 0, <see cref="M:Devart.Data.Oracle.OracleAlerter.WaitAlert" /> returns null immediately if there is no pending alert. </remarks>
      <seealso cref="P:Devart.Data.Oracle.OracleAlerter.Interval" />
      <seealso cref="M:Devart.Data.Oracle.OracleAlerter.WaitAlert()" />
      <seealso cref="M:Devart.Data.Oracle.OracleAlerter.Start()" />
      <keywords>OracleAlerter.Timeout property </keywords>
      <value>An integer value that represents time to monitor alerts in seconds. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleAlerter.WaitAlert()">
      <summary>Waits specified <see cref="P:Devart.Data.Oracle.OracleAlerter.Timeout" /> for alert to be receieved from server. </summary>
      <remarks><para>
The <see cref="M:Devart.Data.Oracle.OracleAlerter.WaitAlert()" /> method initiates the listening for alerts during the <see cref="P:Devart.Data.Oracle.OracleAlerter.Timeout" /> period.
</para>
<para>Unlike <see cref="M:Devart.Data.Oracle.OracleAlerter.WaitAlert()" />, this method reserves the <see cref="P:Devart.Data.Oracle.OracleAlerter.Connection" /> to perform listening.</para> </remarks>
      <seealso cref="E:Devart.Data.Oracle.OracleAlerter.Alert" />
      <seealso cref="T:Devart.Data.Oracle.OracleAlert" />
      <seealso cref="M:Devart.Data.Oracle.OracleAlerter.Start()" />
      <keywords>OracleAlerter.WaitAlert method </keywords>
      <returns>An <see cref="T:Devart.Data.Oracle.OracleAlert" /> object. If no alert happened during the <see cref="P:Devart.Data.Oracle.OracleAlerter.Timeout" />, the value returned is null. </returns>
    </member>
    <member name="E:Devart.Data.Oracle.OracleAlerter.WaitTimeout">
      <summary>Occurs when no message was received from server during <see cref="P:Devart.Data.Oracle.OracleAlerter.Timeout" /> interval. </summary>
      <remarks><para>
This event is invoked when the <see cref="T:Devart.Data.Oracle.OracleAlerter" /> is started with the <see cref="M:Devart.Data.Oracle.OracleAlerter.Start()" /> method. The <see cref="M:Devart.Data.Oracle.OracleAlerter.WaitAlert()" /> method does not trigger the <see cref="E:Devart.Data.Oracle.OracleAlerter.Alert" /> event.
</para> </remarks>
      <keywords>OracleAlerter.WaitTimeout event </keywords>
    </member>
    <member name="T:Devart.Data.Oracle.OracleAlerterAlertEventArgs">
      <summary>Provides data for the <see cref="E:Devart.Data.Oracle.OracleAlerter.Alert" /> event of the <see cref="T:Devart.Data.Oracle.OracleAlerter" /> class. </summary>
      <seealso cref="E:Devart.Data.Oracle.OracleAlerter.Alert" />
    </member>
    <member name="M:Devart.Data.Oracle.OracleAlerterAlertEventArgs.#ctor(System.String,System.String)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleAlerterAlertEventArgs" /> class. </summary>
      <param name="alertName">The name of the alert. </param>
      <param name="alertMessage">The contents of the alert. </param>
    </member>
    <member name="P:Devart.Data.Oracle.OracleAlerterAlertEventArgs.AlertMessage">
      <summary>Gets the alert contents. </summary>
      <keywords>OracleAlerterAlertEventArgs.AlertMessage property </keywords>
      <value>A string that represents the message contents. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleAlerterAlertEventArgs.AlertName">
      <summary>Gets the alert name. </summary>
      <keywords>OracleAlerterAlertEventArgs.AlertName property </keywords>
      <value>A string that represents the message name. </value>
    </member>
    <member name="T:Devart.Data.Oracle.OracleAlerterAlertEventHandler">
      <summary>Represents the method that will handle the <see cref="E:Devart.Data.Oracle.OracleAlerter.Alert" /> event of an <see cref="T:Devart.Data.Oracle.OracleAlerter" />. </summary>
      <seealso cref="E:Devart.Data.Oracle.OracleAlerter.Alert" />
      <keywords>OracleAlerterAlertEventHandler delegate </keywords>
      <param name="sender">The source of the event. </param>
      <param name="e">An <see cref="T:Devart.Data.Oracle.OracleAlerterAlertEventArgs" /> object that contains the event data. </param>
    </member>
    <member name="T:Devart.Data.Oracle.OracleAlerterErrorEventArgs">
      <summary>Provides data for the <see cref="E:Devart.Data.Oracle.OracleAlerter.Error" /> event of the <see cref="T:Devart.Data.Oracle.OracleAlerter" /> class. </summary>
      <seealso cref="E:Devart.Data.Oracle.OracleAlerter.Error" />
    </member>
    <member name="M:Devart.Data.Oracle.OracleAlerterErrorEventArgs.#ctor(System.Exception)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleAlerterAlertEventArgs" /> class. </summary>
      <param name="exception">The exception that represents the error. </param>
    </member>
    <member name="P:Devart.Data.Oracle.OracleAlerterErrorEventArgs.AlerterException">
      <summary>Gets the exception that represents the error. </summary>
      <keywords>OracleAlerterErrorEventArgs.AlerterException property </keywords>
      <value>The exception that represents the error. </value>
    </member>
    <member name="T:Devart.Data.Oracle.OracleAlerterErrorEventHandler">
      <summary>Represents the method that will handle the <see cref="E:Devart.Data.Oracle.OracleAlerter.Error" /> event of an <see cref="T:Devart.Data.Oracle.OracleAlerter" />. </summary>
      <seealso cref="E:Devart.Data.Oracle.OracleAlerter.Error" />
      <keywords>OracleAlerterErrorEventHandler delegate </keywords>
      <param name="sender">The source of the event. </param>
      <param name="e">An <see cref="T:Devart.Data.Oracle.OracleAlerterErrorEventArgs" /> object that contains the event data. </param>
    </member>
    <member name="T:Devart.Data.Oracle.OracleAlerterFinishEventArgs">
      <summary>Provides data for the <see cref="E:Devart.Data.Oracle.OracleAlerter.Stopped" /> event of the <see cref="T:Devart.Data.Oracle.OracleAlerter" /> class. </summary>
      <seealso cref="E:Devart.Data.Oracle.OracleAlerter.Stopped" />
    </member>
    <member name="M:Devart.Data.Oracle.OracleAlerterFinishEventArgs.#ctor()">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleAlerterFinishEventArgs" /> class. </summary>
    </member>
    <member name="T:Devart.Data.Oracle.OracleAlerterFinishEventHandler">
      <summary>Represents the method that will handle the <see cref="E:Devart.Data.Oracle.OracleAlerter.Stopped" /> event of an <see cref="T:Devart.Data.Oracle.OracleAlerter" />. </summary>
      <seealso cref="E:Devart.Data.Oracle.OracleAlerter.Stopped" />
      <keywords>OracleAlerterFinishEventHandler delegate </keywords>
      <param name="sender">The source of the event. </param>
      <param name="e">An <see cref="T:Devart.Data.Oracle.OracleAlerterFinishEventArgs" /> object that contains the event data. </param>
    </member>
    <member name="T:Devart.Data.Oracle.OracleAnyData">
      <summary>Represents Oracle SYS.ANYDATA type. </summary>
      <remarks><para>
This type contains an instance of a given type, with data, plus a description of the
type. <see cref="T:Devart.Data.Oracle.OracleAnyData" /> can be used as a table column datatype and lets you store
heterogeneous values in a single column. The values can be of SQL built-in types as
well as user-defined types.
</para>
<para>
This type is supported starting with Oracle 9i.
</para>
<para><see cref="T:Devart.Data.Oracle.OracleAnyData" /> can be used with one of these types:</para>
<list>
<item><description><see cref="F:Devart.Data.Oracle.OracleDbType.OracleDbType.Array" /></description></item>
<item><description><see cref="F:Devart.Data.Oracle.OracleDbType.OracleDbType.Char" /></description></item>
<item><description><see cref="F:Devart.Data.Oracle.OracleDbType.OracleDbType.Date" /></description></item>
<item><description><see cref="F:Devart.Data.Oracle.OracleDbType.OracleDbType.Double" /> (Oracle 10 and above)</description></item>
<item><description><see cref="F:Devart.Data.Oracle.OracleDbType.OracleDbType.Float" /> (Oracle 10 and above)</description></item>
<item><description><see cref="F:Devart.Data.Oracle.OracleDbType.OracleDbType.IntervalDS" /></description></item>
<item><description><see cref="F:Devart.Data.Oracle.OracleDbType.OracleDbType.IntervalYM" /></description></item>
<item><description><see cref="F:Devart.Data.Oracle.OracleDbType.OracleDbType.NChar" /></description></item>
<item><description><see cref="F:Devart.Data.Oracle.OracleDbType.OracleDbType.Number" /></description></item>
<item><description><see cref="F:Devart.Data.Oracle.OracleDbType.OracleDbType.NVarChar" /></description></item>
<item><description><see cref="F:Devart.Data.Oracle.OracleDbType.OracleDbType.Object" /></description></item>
<item><description><see cref="F:Devart.Data.Oracle.OracleDbType.OracleDbType.Raw" /></description></item>
<item><description><see cref="F:Devart.Data.Oracle.OracleDbType.OracleDbType.Ref" /></description></item>
<item><description><see cref="F:Devart.Data.Oracle.OracleDbType.OracleDbType.Table" /></description></item>
<item><description><see cref="F:Devart.Data.Oracle.OracleDbType.OracleDbType.TimeStamp" /></description></item>
<item><description><see cref="F:Devart.Data.Oracle.OracleDbType.OracleDbType.TimeStampLTZ" /></description></item>
<item><description><see cref="F:Devart.Data.Oracle.OracleDbType.OracleDbType.TimeStampTZ" /></description></item>
<item><description><see cref="F:Devart.Data.Oracle.OracleDbType.OracleDbType.VarChar" /></description></item>
</list> </remarks>
      <seealso cref="M:Devart.Data.Oracle.OracleDataReader.GetOracleAnyData(System.Int32)" />
    </member>
    <member name="M:Devart.Data.Oracle.OracleAnyData.#ctor(Devart.Data.Oracle.OracleDbType,System.Object)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleAnyData" /> class. </summary>
      <param name="oracleDbType">One of the <see cref="T:Devart.Data.Oracle.OracleDbType" /> values. </param>
      <param name="oracleValue">The value of the <see cref="T:Devart.Data.Oracle.OracleAnyData" /> instance. </param>
    </member>
    <member name="P:Devart.Data.Oracle.OracleAnyData.IsNull">
      <summary>Indicates whether or not the <see cref="T:Devart.Data.Oracle.OracleAnyData" /> represents a null value. </summary>
      <keywords>OracleAnyData.IsNull property </keywords>
      <value><see langword="true" /> if the <see cref="T:Devart.Data.Oracle.OracleAnyData" /> represents a null value; otherwise, <see langword="false" />. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleAnyData.OracleDbType">
      <summary>Gets the type of the <see cref="T:Devart.Data.Oracle.OracleAnyData" />. </summary>
      <keywords>OracleAnyData.OracleDbType property </keywords>
      <value>One of the <see cref="T:Devart.Data.Oracle.OracleDbType" /> values. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleAnyData.OracleValue">
      <summary>Gets the value of the <see cref="T:Devart.Data.Oracle.OracleAnyData" />. </summary>
      <seealso cref="P:Devart.Data.Oracle.OracleAnyData.Value" />
      <keywords>OracleAnyData.OracleValue property </keywords>
      <value>The value of the <see cref="T:Devart.Data.Oracle.OracleAnyData" />. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleAnyData.Value">
      <summary>Gets the value of the <see cref="T:Devart.Data.Oracle.OracleAnyData" /> converted to a .NET type. </summary>
      <seealso cref="P:Devart.Data.Oracle.OracleAnyData.OracleValue" />
      <keywords>OracleAnyData.Value property </keywords>
      <value>The value of the <see cref="T:Devart.Data.Oracle.OracleAnyData" /> converted to a .NET type. </value>
    </member>
    <member name="T:Devart.Data.Oracle.OracleArray">
      <summary>Represents a client-side cached Oracle collection (VARRAY). </summary>
      <remarks><para>The <see cref="T:Devart.Data.Oracle.OracleArray" /> class provides methods to access elements of the collection. Items values are accessible by <see cref="P:Devart.Data.Oracle.OracleArray.Item" /> indexed property.</para>

<para>The array elements can be added to the collection dynamically by calling <see cref="M:Devart.Data.Oracle.OracleArray.Add" />, <see cref="M:Devart.Data.Oracle.OracleArray.Insert" /> methods or removed by calling <see cref="M:Devart.Data.Oracle.OracleArray.Remove" /> or <see cref="M:Devart.Data.Oracle.OracleArray.RemoveAt" /> but the maximum number of the elements cannot exceed <see cref="P:Devart.Data.Oracle.OracleArray.Capacity" /> specified at Oracle declaration of the VARRAY.</para>
<para>Indexes in this collection are zero-based.</para>
<para>Note that <see cref="T:Devart.Data.Oracle.OracleArray" /> can be used in data binding with <b>DataGrid</b> as it implements <b>IListSource</b> interface.</para>
<para>This class is not available in <see cref="P:Devart.Data.Oracle.OracleConnection.Direct" /> mode.</para> </remarks>
      <example><para>This example demonstrates how to retrieve <see cref="T:Devart.Data.Oracle.OracleArray" /> object from server and display its elements. To create required type and table and fill it with data you can use the following script:
<pre>CREATE OR REPLACE TYPE TEmployees AS 
  VARYING ARRAY(10000) OF VARCHAR2(40);

CREATE TABLE CompanyEmpObject (
  Code NUMBER PRIMARY KEY,
  Company VARCHAR2(40),
  Employees TEmployees	
);
INSERT INTO CompanyEmpObject
  (Code, Company, Employees)
VALUES
  (1, 'Microsoft', TEmployees('PROGRAMMER', 'MANAGER', 'ELECTRICIAN', 'CLEANUP MEN'));
INSERT INTO CompanyEmpObject
  (Code, Company, Employees)
VALUES
  (2, 'Borland', TEmployees('PROGRAMMER', 'ELECTRICIAN', 'COURIER'));
INSERT INTO CompanyEmpObject
  (Code, Company, Employees)
VALUES
  (3, 'MC Donalds', TEmployees('SHOP ASSISTANT', 'CLERK',  'CLEANUP MEN'));
INSERT INTO CompanyEmpObject
  (Code, Company, Employees)
VALUES
  (4, 'Ford', TEmployees('MECHANICIAN', 'MANAGER'));
</pre>
</para> <code lang="csharp">OracleConnection connection = new OracleConnection("User Id=scott;Password=tiger;Data Source=ora");
OracleCommand command = new OracleCommand("SELECT * FROM CompanyEmpObject", connection);
connection.Open();
OracleDataReader dataReader = command.ExecuteReader();
try{
  int index = dataReader.GetOrdinal("Employees");
  while (dataReader.Read()) {
    OracleArray oraArray = dataReader.GetOracleArray(index);
    if (!oraArray.IsNull) {
      string[] employees = new string[oraArray.Count];
      for (int i = 0; i &lt; oraArray.Count; i++)
        employees[i] = (string)oraArray[i];

      Console.WriteLine("Company: " + dataReader.GetString(1));
      foreach (string str in employees)
        Console.WriteLine("\t"+str);
    }
    else{
      Console.WriteLine("Company: " + dataReader.GetString(1));
      Console.WriteLine("No vacancies");
    }
  }
}
catch (Devart.Data.Oracle.OracleException ex) {
  Console.WriteLine(ex.Message);
}
finally{
  dataReader.Close();
  connection.Close();
} </code><code lang="vb">Dim connection As New OracleConnection("User Id=scott;Password=tiger;Data Source=ora")
Dim command As New OracleCommand("SELECT * FROM CompanyEmpObject", connection)
connection.Open()
Dim dataReader As OracleDataReader = command.ExecuteReader()
Try
  Dim index As Integer = dataReader.GetOrdinal("Employees")
  While dataReader.Read()
    Dim oraArray As OracleArray = dataReader.GetOracleArray(index)
    If Not oraArray.IsNull Then
      Dim employees(oraArray.Count) As String
      Dim I As Integer
      For I = 0 To oraArray.Count - 1
        employees(I) = oraArray(I)
      Next I
      Console.WriteLine("Company: " &amp; dataReader.GetString(1))
      For Each str As String In employees
        Console.WriteLine(Chr(9) &amp; str)
      Next
    Else
      Console.WriteLine("Company: " &amp; dataReader.GetString(1))
      Console.WriteLine("No vacancies")
    End If
  End While
Catch ex As Devart.Data.Oracle.OracleException
  Console.WriteLine(ex.Message)
Finally
  dataReader.Close()
  connection.Close()
End Try </code></example>
    </member>
    <member name="M:Devart.Data.Oracle.OracleArray.#ctor(Devart.Data.Oracle.OracleType)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleArray" /> class of the specified type. </summary>
      <remarks>Use this constructor to create an <see cref="T:Devart.Data.Oracle.OracleArray" /> and pass it as a parameter by assigning to <see cref="P:Devart.Common.DbParameterBase.Value" /> at the time of initialization. </remarks>
      <param name="oraType">An <see cref="T:Devart.Data.Oracle.OracleType" /> to create a new instance of the <see cref="T:Devart.Data.Oracle.OracleArray" />. This should be the array type, not the type of objects of which the array consists. </param>
      <overloads>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleArray" /> class. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleArray.#ctor(Devart.Data.Oracle.OracleType,System.Collections.IEnumerable)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleArray" /> class of the specified type. </summary>
      <remarks>Use this constructor to create an <see cref="T:Devart.Data.Oracle.OracleArray" /> and pass it as a parameter by assigning to <see cref="P:Devart.Common.DbParameterBase.Value" /> at the time of initialization. </remarks>
      <param name="oraType">An <see cref="T:Devart.Data.Oracle.OracleType" /> to create a new instance of the <see cref="T:Devart.Data.Oracle.OracleArray" />. This should be the array type, not the type of objects of which the array consists. </param>
      <param name="source">A set of array item values. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleArray.#ctor(System.String,Devart.Data.Oracle.OracleConnection)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleArray" /> class of the specified type with the specified <see cref="T:Devart.Data.Oracle.OracleConnection" />. </summary>
      <remarks>Use this constructor to create an <see cref="T:Devart.Data.Oracle.OracleArray" /> and pass it as a parameter by assigning to <see cref="P:Devart.Common.DbParameterBase.Value" /> at the time of initialization. </remarks>
      <param name="typeName">Name of the object type at the Oracle server. </param>
      <param name="connection">An <see cref="T:Devart.Data.Oracle.OracleConnection" /> used to describe object type at the Oracle server. This should be the array type, not the type of objects of which the array consists. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleArray.#ctor(System.String,Devart.Data.Oracle.OracleConnection,System.Collections.IEnumerable)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleArray" /> class of the specified type with the specified <see cref="T:Devart.Data.Oracle.OracleConnection" />. </summary>
      <remarks>Use this constructor to create an <see cref="T:Devart.Data.Oracle.OracleArray" /> and pass it as a parameter by assigning to <see cref="P:Devart.Common.DbParameterBase.Value" /> at the time of initialization. </remarks>
      <param name="typeName">Name of the object type at the Oracle server. </param>
      <param name="connection">An <see cref="T:Devart.Data.Oracle.OracleConnection" /> used to describe object type at the Oracle server. This should be the array type, not the type of objects of which the array consists. </param>
      <param name="source">A set of array item values. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleArray.Add(System.Object)">
      <summary>Adds an object of specified <see cref="P:Devart.Data.Oracle.OracleType.ItemDbType" /> type to the end of the <see cref="T:Devart.Data.Oracle.OracleArray" />. </summary>
      <remarks>If value of <see cref="P:Devart.Data.Oracle.OracleArray.Count" /> property equals to <see cref="P:Devart.Data.Oracle.OracleArray.Capacity" /> the <see cref="M:Devart.Data.Oracle.OracleArray.Add" /> method raises an error. </remarks>
      <keywords>OracleArray.Add method </keywords>
      <param name="value">The <see cref="T:System.Object" /> to be added to the end of the <see cref="T:Devart.Data.Oracle.OracleArray" />. </param>
      <returns>The <see cref="T:Devart.Data.Oracle.OracleArray" /> index at which the value has been added. </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleArray.Capacity">
      <summary>Gets the number of elements that the <see cref="T:Devart.Data.Oracle.OracleArray" /> can contain. </summary>
      <remarks>The number of elements that the <see cref="T:Devart.Data.Oracle.OracleArray" /> can contain is specified on creating VARRAY type at the Oracle server. For example, the value of <see cref="P:Devart.Data.Oracle.OracleArray.Capacity" /> property for type 'VARRAY(5) OF NUMBER' is 5. </remarks>
      <keywords>OracleArray.Capacity property </keywords>
      <value>The number of elements that the <see cref="T:Devart.Data.Oracle.OracleArray" /> can contain. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleArray.Clear()">
      <summary>Removes all elements from the <see cref="T:Devart.Data.Oracle.OracleArray" />. </summary>
      <keywords>OracleArray.Clear method </keywords>
    </member>
    <member name="M:Devart.Data.Oracle.OracleArray.Clone()">
      <summary>Creates a copy of an <see cref="T:Devart.Data.Oracle.OracleArray" /> object. </summary>
      <remarks>The cloned object has the same property values as that of the object being cloned. </remarks>
      <keywords>OracleArray.Clone method </keywords>
      <returns>An <see cref="T:Devart.Data.Oracle.OracleArray" /> object. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleArray.Contains(System.Object)">
      <summary>Determines whether an element is in the <see cref="T:Devart.Data.Oracle.OracleArray" />. </summary>
      <keywords>OracleArray.Contains method </keywords>
      <param name="value">An <see cref="T:System.Object" /> to locate in the <see cref="T:Devart.Data.Oracle.OracleArray" />. </param>
      <returns><see langword="true" /> if an item is found in the <see cref="T:Devart.Data.Oracle.OracleArray" />; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleArray.CopyTo(System.Array,System.Int32)">
      <summary>Copies the entire <see cref="T:Devart.Data.Oracle.OracleArray" /> to a compatible <see cref="T:System.Array" /> starting at the specified index. </summary>
      <remarks>The specified array must be of a compatible type. </remarks>
      <keywords>OracleArray.CopyTo method </keywords>
      <param name="array">The <see cref="T:System.Array" /> where to copy elements from <see cref="T:Devart.Data.Oracle.OracleArray" />. </param>
      <param name="index">The zero-based starting index. </param>
    </member>
    <member name="P:Devart.Data.Oracle.OracleArray.Count">
      <summary>Gets the number of elements contained in the <see cref="T:Devart.Data.Oracle.OracleArray" />. </summary>
      <keywords>OracleArray.Count property </keywords>
      <value>The number of elements contained in the <see cref="T:Devart.Data.Oracle.OracleArray" />. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleArray.GetEnumerator()">
      <summary>Returns an enumerator for the <see cref="T:Devart.Data.Oracle.OracleArray" />. </summary>
      <remarks>Enumerators allow only reading the data in the collection and cannot be used to modify it. </remarks>
      <keywords>OracleArray.GetEnumerator method </keywords>
      <returns>An enumerator for the <see cref="T:Devart.Data.Oracle.OracleArray" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleArray.GetOracleValue(System.Int32)">
      <summary>Gets the value of the array element at the specified ordinal in its Oracle format. </summary>
      <remarks><see cref="M:Devart.Data.Oracle.OracleArray.GetOracleValue(System.Int32)" /> returns data using the native Oracle types. To retrieve data using the .NET Framework types, see <see cref="P:Devart.Data.Oracle.OracleArray.Item(System.Int32)" /> property. </remarks>
      <keywords>OracleArray.GetOracleValue method </keywords>
      <param name="i">The zero-based element ordinal. </param>
      <returns>The value of the array element. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleArray.IndexOf(System.Object)">
      <summary>Gets the location in the collection of the <see cref="T:Devart.Data.Oracle.OracleArray" /> object. </summary>
      <keywords>OracleArray.IndexOf method </keywords>
      <param name="value">The <see cref="T:Devart.Data.Oracle.OracleArray" /> object to find. </param>
      <returns>The zero-based location of the <see cref="T:Devart.Data.Oracle.OracleArray" /> in the collection. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleArray.Insert(System.Int32,System.Object)">
      <summary>Inserts an <see cref="T:Devart.Data.Oracle.OracleArray" /> into the collection at the specified index. </summary>
      <keywords>OracleArray.Insert method </keywords>
      <param name="index">The zero-based index where the <see cref="T:Devart.Data.Oracle.OracleArray" /> is to be inserted within the collection. </param>
      <param name="value">The <see cref="T:Devart.Data.Oracle.OracleArray" /> object to add to the collection. </param>
    </member>
    <member name="P:Devart.Data.Oracle.OracleArray.IsFixedSize">
      <summary>Gets a value indicating whether the <see cref="T:Devart.Data.Oracle.OracleArray" /> has a fixed size. </summary>
      <remarks>A collection with a fixed size does not allow to add or remove elements after the collection is created, but it allows to modify already existing elements. </remarks>
      <keywords>OracleArray.IsFixedSize property </keywords>
      <value><see langword="true" /> if the <see cref="T:Devart.Data.Oracle.OracleArray" /> has a fixed size; otherwise, <see langword="false" />. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleArray.IsNull">
      <summary>Indicates whether or not the <see cref="T:Devart.Data.Oracle.OracleArray" /> represents a null value. </summary>
      <keywords>OracleArray.IsNull property </keywords>
      <value><see langword="true" /> if the <see cref="T:Devart.Data.Oracle.OracleArray" /> represents a null value; otherwise, <see langword="false" />. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleArray.IsReadOnly">
      <summary>Gets a value indicating whether the <see cref="T:Devart.Data.Oracle.OracleArray" /> is read-only. </summary>
      <remarks>A collection that is read-only does not allow the add, remove, or modify elements after the collection is created. </remarks>
      <keywords>OracleArray.IsReadOnly property </keywords>
      <value><see langword="true" /> if the <see cref="T:Devart.Data.Oracle.OracleArray" /> is read-only; otherwise, <see langword="false" />. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleArray.IsSynchronized">
      <summary>Gets a value indicating whether access to the <see cref="T:Devart.Data.Oracle.OracleArray" /> is synchronized (thread-safe). </summary>
      <keywords>OracleArray.IsSynchronized property </keywords>
      <value><see langword="true" /> if access to the <see cref="T:Devart.Data.Oracle.OracleArray" /> is synchronized (thread-safe); otherwise, <see langword="false" />. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleArray.Item(System.Int32)">
      <summary>Gets or sets the element at the specified index. </summary>
      <keywords>OracleArray.Item property </keywords>
      <param name="i">The zero-based index of the element to retrieve. </param>
      <value>The element at the specified index. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleArray.ObjectType">
      <summary>Gets type of the objects in the array. </summary>
      <keywords>OracleArray.ObjectType property </keywords>
      <value>An <see cref="T:Devart.Data.Oracle.OracleType" /> that describes the objects. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleArray.Remove(System.Object)">
      <summary>Removes the specified element from the <see cref="T:Devart.Data.Oracle.OracleArray" />. </summary>
      <keywords>OracleArray.Remove method </keywords>
      <param name="value">The <see cref="T:System.Object" /> to remove from the <see cref="T:Devart.Data.Oracle.OracleArray" />. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleArray.RemoveAt(System.Int32)">
      <summary>Removes the element at the specified index from the <see cref="T:Devart.Data.Oracle.OracleArray" />. </summary>
      <keywords>OracleArray.RemoveAt method </keywords>
      <param name="i">The zero-based index of the element to remove. </param>
    </member>
    <member name="P:Devart.Data.Oracle.OracleArray.SyncRoot">
      <summary>Gets an object that can be used to synchronize access to the <see cref="T:Devart.Data.Oracle.OracleArray" />. </summary>
      <keywords>OracleArray.SyncRoot property </keywords>
      <value>An <see cref="T:System.Object" /> that can be used to synchronize access to the <see cref="T:Devart.Data.Oracle.OracleArray" />. </value>
    </member>
    <member name="T:Devart.Data.Oracle.OracleArrayDataReader">
      <summary>Allows to read a forward-only stream of rows from an <see cref="T:Devart.Data.Oracle.OracleArray" /> or <see cref="T:Devart.Data.Oracle.OracleTable" />. </summary>
      <remarks><para>As <see cref="T:Devart.Data.Oracle.OracleArray" /> and <see cref="T:Devart.Data.Oracle.OracleTable" /> have structure similar to usual database tables, it is natural to work with them in a similar way. For this purpose, OracleArrayDataReader implements the functionality of <see cref="T:Devart.Data.Oracle.OracleDataReader" /> for <see cref="T:Devart.Data.Oracle.OracleArray" /> and <see cref="T:Devart.Data.Oracle.OracleTable" />.</para>

<para>To create a new instance of OracleArrayDataReader, the <see cref="M:Devart.Data.Oracle.OracleDataReader.GetValue(System.Int32)" /> method of the <see cref="T:Devart.Data.Oracle.OracleDataReader" /> object should be used instead of calling a constructor directly.</para>

<para>This class is not available in <see cref="P:Devart.Data.Oracle.OracleConnection.Direct" /> mode.</para> </remarks>
      <example><para>The sample demonstrates how OracleArrayDataReader may be retrieved and used. To create required objects and fill the table with data the following script should be executed:</para>
<pre>CREATE OR REPLACE TYPE TEmployees AS 
  TABLE OF VARCHAR2(40);

CREATE TABLE CompanyEmpObject (
  Code NUMBER PRIMARY KEY,
  Company VARCHAR2(40),
  Employees TEmployees	
)NESTED TABLE Employees STORE AS N_TAB;

INSERT INTO CompanyEmpObject
  (Code, Company, Employees)
VALUES
  (1, 'Microsoft', TEmployees('PROGRAMMER', 'MANAGER', 'ELECTRICIAN', 'CLEANUP MEN'));
INSERT INTO CompanyEmpObject
  (Code, Company, Employees)
VALUES
  (2, 'Borland', TEmployees('PROGRAMMER', 'ELECTRICIAN', 'COURIER'));
INSERT INTO CompanyEmpObject
  (Code, Company, Employees)
VALUES
  (3, 'MC Donalds', TEmployees('SHOP ASSISTANT', 'CLERK',  'CLEANUP MEN'));
INSERT INTO CompanyEmpObject
  (Code, Company, Employees)
VALUES
  (4, 'Ford', TEmployees('MECHANICIAN', 'MANAGER'));</pre> <code lang="csharp">// Open a connection
OracleConnection connection = new OracleConnection("User Id=scott;Password=tiger;Data Source=ora1110");
connection.Open();

// Execute a simple command reading all records from CompanyEmpObject
OracleCommand command = new OracleCommand("SELECT * FROM CompanyEmpObject", connection);
OracleDataReader dataReader = command.ExecuteReader();

try
{
	// Get index of the Employees column
    int index = dataReader.GetOrdinal("Employees"); 
    while (dataReader.Read())
    {                    
        Console.WriteLine(dataReader["Company"] + ":");

        // The GetValue method returns OracleArrayDataReader, which 
        // allows to read records inside the Employees nested table.
        OracleArrayDataReader oraTableReader = (OracleArrayDataReader)dataReader.GetValue(index);
        // The OracleArrayDataReader may be used in the same way as usual data reader:
        while (oraTableReader.Read())
            Console.Write(oraTableReader.GetString(0) + "|");

        Console.WriteLine("\n" + new string('*', 79));
        }
}
catch (OracleException ex)
{
	Console.WriteLine(ex.Message);
}
finally
{
	dataReader.Close();
	connection.Close();
}
Console.ReadLine(); </code><code lang="vb">'Open a connection
Dim connection = New OracleConnection("User Id=scott;Password=tiger;Data Source=ora1110")
connection.Open()

' Execute a simple command reading all records from CompanyEmpObject
Dim command = New OracleCommand("SELECT * FROM CompanyEmpObject", connection)
Dim dataReader As OracleDataReader = command.ExecuteReader()

Try
	' Get index of the Employees column
Dim index As Integer = dataReader.GetOrdinal("Employees")

	While dataReader.Read()
		Console.WriteLine(dataReader.Item("Company") + ":")
		' The GetValue method returns OracleArrayDataReader, which 
		' allows to read records inside the Employees nested table.
        Dim oraTableReader As OracleArrayDataReader = dataReader.GetValue(index)
		' The OracleArrayDataReader may be used in the same way as usual data reader:                    
		While (oraTableReader.Read())
			Console.Write(oraTableReader.GetString(0) + "|")
		End While
		Console.WriteLine(vbCrLf + New String("*", 79))
	End While
Catch ex As OracleException
	Console.WriteLine(ex.Message)
Finally
	dataReader.Close()
	connection.Close()
End Try
Console.ReadLine() </code></example>
    </member>
    <member name="M:Devart.Data.Oracle.OracleArrayDataReader.Close()">
      <summary>Closes the <see cref="T:Devart.Data.Oracle.OracleArrayDataReader" /> object. </summary>
      <remarks>You must explicitly call the Close method when you are finished using the <see cref="T:Devart.Data.Oracle.OracleArrayDataReader" /> to use the associated <see cref="T:Devart.Data.Oracle.OracleConnection" /> for any other purpose. </remarks>
      <seealso cref="T:Devart.Data.Oracle.OracleConnection" />
      <seealso cref="T:Devart.Data.Oracle.OracleCommand" />
      <keywords>OracleArrayDataReader.Close method </keywords>
    </member>
    <member name="P:Devart.Data.Oracle.OracleArrayDataReader.Depth">
      <summary>Do not use. </summary>
      <keywords>OracleArrayDataReader.Depth property </keywords>
      <value>Always 0. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleArrayDataReader.FieldCount">
      <summary>If the array consists of OBJECT TYPE elements, gets number of array element properties. </summary>
      <keywords>OracleArrayDataReader.FieldCount property </keywords>
      <value>Number of array element properties if the array consists of OBJECT TYPE elements, otherwise 1. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleArrayDataReader.GetBoolean(System.Int32)">
      <summary>If the array consists of OBJECT TYPE elements, gets the value of the specified  property of the current array element, as a Boolean, otherwise, gets the value of the current array element as a Boolean. </summary>
      <remarks>If the array consists of OBJECT TYPE elements and <i>i</i> is equal or more than <see cref="P:Devart.Data.Oracle.OracleArrayDataReader.FieldCount" />, or it is less than zero, <see cref="T:System.ArgumentOutOfRangeException" /> is thrown. </remarks>
      <keywords>OracleArrayDataReader.GetBoolean method </keywords>
      <param name="i">Zero-based ordinal of the OBJECT TYPE property. Ignored when array consists of elements with type other than OBJECT TYPE. </param>
      <returns>The value of the current array element property, having the specified index, if the array consists of OBJECT TYPE elements as a Boolean. Otherwise, the value of the current array element as a Boolean. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleArrayDataReader.GetByte(System.Int32)">
      <summary>If the array consists of OBJECT TYPE elements, gets the value of the specified  property of the current array element, as a Byte, otherwise, gets the value of the current array element as a Boolean. </summary>
      <remarks>If the array consists of OBJECT TYPE elements and <i>i</i> is equal or more than <see cref="P:Devart.Data.Oracle.OracleArrayDataReader.FieldCount" />, or it is less than zero, <see cref="T:System.ArgumentOutOfRangeException" /> is thrown. </remarks>
      <keywords>OracleArrayDataReader.GetByte method </keywords>
      <param name="i">Zero-based ordinal of the OBJECT TYPE property. Ignored when array consists of elements with type other than OBJECT TYPE. </param>
      <returns>The value of the current array element property, having the specified index, if the array consists of OBJECT TYPE elements as a Byte. Otherwise, the value of the current array element as a Byte. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleArrayDataReader.GetBytes(System.Int32,System.Int64,System.Byte[],System.Int32,System.Int32)">
      <summary>If the array consists of OBJECT TYPE elements, reads a stream of bytes from the specified  property of the current array element, otherwise, reads a stream of bytes from the current array element. </summary>
      <remarks>If the array consists of OBJECT TYPE elements and <i>i</i> is equal or more than <see cref="P:Devart.Data.Oracle.OracleArrayDataReader.FieldCount" />, or it is less than zero, <see cref="T:System.ArgumentOutOfRangeException" /> is thrown. </remarks>
      <keywords>OracleArrayDataReader.GetBytes method </keywords>
      <param name="i">Zero-based ordinal of the OBJECT TYPE property. Ignored when array consists of elements with type other than OBJECT TYPE. </param>
      <param name="fieldOffset">The index within the field where the read operation is to begin. </param>
      <param name="buffer">The buffer into which to read the stream of bytes. </param>
      <param name="bufferoffset">The index within the buffer where the write operation is to begin. </param>
      <param name="length">The maximum length to copy into the buffer. </param>
      <returns>The actual number of bytes read. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleArrayDataReader.GetChar(System.Int32)">
      <summary>If the array consists of OBJECT TYPE elements, gets the value of the specified  property of the current array element, as a single character, otherwise, gets the value of the current array element as a single character. </summary>
      <remarks>If the array consists of OBJECT TYPE elements and <i>i</i> is equal or more than <see cref="P:Devart.Data.Oracle.OracleArrayDataReader.FieldCount" />, or it is less than zero, <see cref="T:System.ArgumentOutOfRangeException" /> is thrown. </remarks>
      <keywords>OracleArrayDataReader.GetChar method </keywords>
      <param name="i">Zero-based ordinal of the OBJECT TYPE property. Ignored when array consists of elements with type other than OBJECT TYPE. </param>
      <returns>The value of the current array element property, having the specified index, if the array consists of OBJECT TYPE elements as a single character. Otherwise, the value of the current array element as a single character. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleArrayDataReader.GetChars(System.Int32,System.Int64,System.Char[],System.Int32,System.Int32)">
      <summary>If the array consists of OBJECT TYPE elements, reads a stream of characters from the specified  property of the current array element, otherwise, reads a stream of characters from the current array element. </summary>
      <remarks>If the array consists of OBJECT TYPE elements and <i>i</i> is equal or more than <see cref="P:Devart.Data.Oracle.OracleArrayDataReader.FieldCount" />, or it is less than zero, <see cref="T:System.ArgumentOutOfRangeException" /> is thrown. </remarks>
      <keywords>OracleArrayDataReader.GetChars method </keywords>
      <param name="i">Zero-based ordinal of the OBJECT TYPE property. Ignored when array consists of elements with type other than OBJECT TYPE. </param>
      <param name="fieldoffset">The index within the field where the read operation is to begin. </param>
      <param name="buffer">The buffer into which to read the stream of bytes. </param>
      <param name="bufferoffset">The index within the buffer where the write operation is to begin. </param>
      <param name="length">The maximum length to copy into the buffer. </param>
      <returns>The actual number of bytes read. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleArrayDataReader.GetData(System.Int32)">
      <summary>If the array consists of OBJECT TYPE elements, gets nested DataReader for the specified property of the current current array element, otherwise, gets  the name of the source data type. </summary>
      <remarks>If the array consists of OBJECT TYPE elements and <i>i</i> is equal or more than <see cref="P:Devart.Data.Oracle.OracleArrayDataReader.FieldCount" />, or it is less than zero, <see cref="T:System.ArgumentOutOfRangeException" /> is thrown. </remarks>
      <keywords>OracleArrayDataReader.GetData method </keywords>
      <param name="i">Zero-based ordinal of the OBJECT TYPE property. Ignored when array consists of elements with type other than OBJECT TYPE. </param>
      <returns>The name of the source data type of the current array element property, having the specified index, if the array consists of OBJECT TYPE elements. Otherwise, the name of the source data type of the current array element. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleArrayDataReader.GetDataTypeName(System.Int32)">
      <summary>If the array consists of OBJECT TYPE elements, gets the name of the source data type of the current array element, otherwise, gets  the name of the source data type. </summary>
      <remarks>If the array consists of OBJECT TYPE elements and <i>i</i> is equal or more than <see cref="P:Devart.Data.Oracle.OracleArrayDataReader.FieldCount" />, or it is less than zero, <see cref="T:System.ArgumentOutOfRangeException" /> is thrown. </remarks>
      <keywords>OracleArrayDataReader.GetDataTypeName method </keywords>
      <param name="i">Zero-based ordinal of the OBJECT TYPE property. Ignored when array consists of elements with type other than OBJECT TYPE. </param>
      <returns>The name of the source data type of the current array element property, having the specified index, if the array consists of OBJECT TYPE elements. Otherwise, the name of the source data type of the current array element. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleArrayDataReader.GetDateTime(System.Int32)">
      <summary>If the array consists of OBJECT TYPE elements, gets the value of the specified  property of the current array element, as a <see cref="T:System.DateTime" /> object, otherwise, gets the value of the current array element as a <see cref="T:System.DateTime" /> object. </summary>
      <remarks>If the array consists of OBJECT TYPE elements and <i>i</i> is equal or more than <see cref="P:Devart.Data.Oracle.OracleArrayDataReader.FieldCount" />, or it is less than zero, <see cref="T:System.ArgumentOutOfRangeException" /> is thrown. </remarks>
      <keywords>OracleArrayDataReader.GetDateTime method </keywords>
      <param name="i">Zero-based ordinal of the OBJECT TYPE property. Ignored when array consists of elements with type other than OBJECT TYPE. </param>
      <returns>The value of the current array element property, having the specified index, if the array consists of OBJECT TYPE elements as a <see cref="T:System.DateTime" /> object. Otherwise, the value of the current array element as a <see cref="T:System.DateTime" /> object. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleArrayDataReader.GetDecimal(System.Int32)">
      <summary>If the array consists of OBJECT TYPE elements, gets the value of the specified  property of the current array element, as a <see cref="T:System.Decimal" /> object, otherwise, gets the value of the current array element as a <see cref="T:System.Decimal" /> object. </summary>
      <remarks>If the array consists of OBJECT TYPE elements and <i>i</i> is equal or more than <see cref="P:Devart.Data.Oracle.OracleArrayDataReader.FieldCount" />, or it is less than zero, <see cref="T:System.ArgumentOutOfRangeException" /> is thrown. </remarks>
      <keywords>OracleArrayDataReader.GetDecimal method </keywords>
      <param name="i">Zero-based ordinal of the OBJECT TYPE property. Ignored when array consists of elements with type other than OBJECT TYPE. </param>
      <returns>The value of the current array element property, having the specified index, if the array consists of OBJECT TYPE elements as a <see cref="T:System.Decimal" /> object. Otherwise, the value of the current array element as a <see cref="T:System.Decimal" /> object. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleArrayDataReader.GetDouble(System.Int32)">
      <summary>If the array consists of OBJECT TYPE elements, gets the value of the specified  property of the current array element, as a  double-precision floating point number, otherwise, gets the value of the current array element as a  double-precision floating point number. </summary>
      <remarks>If the array consists of OBJECT TYPE elements and <i>i</i> is equal or more than <see cref="P:Devart.Data.Oracle.OracleArrayDataReader.FieldCount" />, or it is less than zero, <see cref="T:System.ArgumentOutOfRangeException" /> is thrown. </remarks>
      <keywords>OracleArrayDataReader.GetDouble method </keywords>
      <param name="i">Zero-based ordinal of the OBJECT TYPE property. Ignored when array consists of elements with type other than OBJECT TYPE. </param>
      <returns>The value of the current array element property, having the specified index, if the array consists of OBJECT TYPE elements as a  double-precision floating point number. Otherwise, the value of the current array element as a  double-precision floating point number. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleArrayDataReader.GetEnumerator()">
      <summary>Gets the enumerator for the ORACLE ARRAY elements. </summary>
      <keywords>OracleArrayDataReader.GetEnumerator method </keywords>
      <returns>The enumerator for the ORACLE ARRAY elements. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleArrayDataReader.GetFieldType(System.Int32)">
      <summary>If the array consists of OBJECT TYPE elements, gets the <see cref="T:System.Type" /> that is the data type of the specified  property of the current array element, otherwise, the <see cref="T:System.Type" /> that is the data type of the current array element. </summary>
      <remarks>If the array consists of OBJECT TYPE elements and <i>i</i> is equal or more than <see cref="P:Devart.Data.Oracle.OracleArrayDataReader.FieldCount" />, or it is less than zero, <see cref="T:System.ArgumentOutOfRangeException" /> is thrown. </remarks>
      <keywords>OracleArrayDataReader.GetFieldType method </keywords>
      <param name="i">Zero-based ordinal of the OBJECT TYPE property. Ignored when array consists of elements with type other than OBJECT TYPE. </param>
      <returns>The <see cref="T:System.Type" /> that is the data type of the current array element property, having the specified index, if the array consists of OBJECT TYPE elements as a single character. Otherwise, the <see cref="T:System.Type" /> that is the data type of the current array element as a single character. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleArrayDataReader.GetFloat(System.Int32)">
      <summary>If the array consists of OBJECT TYPE elements, gets the value of the specified  property of the current array element, as a single-precision floating point number, otherwise, gets the value of the current array element as a single-precision floating point number. </summary>
      <remarks>If the array consists of OBJECT TYPE elements and <i>i</i> is equal or more than <see cref="P:Devart.Data.Oracle.OracleArrayDataReader.FieldCount" />, or it is less than zero, <see cref="T:System.ArgumentOutOfRangeException" /> is thrown. </remarks>
      <keywords>OracleArrayDataReader.GetFloat method </keywords>
      <param name="i">Zero-based ordinal of the OBJECT TYPE property. Ignored when array consists of elements with type other than OBJECT TYPE. </param>
      <returns>The value of the current array element property, having the specified index, if the array consists of OBJECT TYPE elements as a single-precision floating point number. Otherwise, the value of the current array element as a single-precision floating point number. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleArrayDataReader.GetGuid(System.Int32)">
      <summary>If the array consists of OBJECT TYPE elements, gets the value of the specified  property of the current array element, as a globally-unique identifier (GUID), otherwise, gets the value of the current array element as a globally-unique identifier. </summary>
      <remarks>If the array consists of OBJECT TYPE elements and <i>i</i> is equal or more than <see cref="P:Devart.Data.Oracle.OracleArrayDataReader.FieldCount" />, or it is less than zero, <see cref="T:System.ArgumentOutOfRangeException" /> is thrown. </remarks>
      <keywords>OracleArrayDataReader.GetGuid method </keywords>
      <param name="i">Zero-based ordinal of the OBJECT TYPE property. Ignored when array consists of elements with type other than OBJECT TYPE. </param>
      <returns>The value of the current array element property, having the specified index, if the array consists of OBJECT TYPE elements as a globally-unique identifier (GUID). Otherwise, the value of the current array element as a globally-unique identifier. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleArrayDataReader.GetInt16(System.Int32)">
      <summary>If the array consists of OBJECT TYPE elements, gets the value of the specified  property of the current array element, as a 16-bit signed integer, otherwise, gets the value of the current array element as a 16-bit signed integer. </summary>
      <remarks>If the array consists of OBJECT TYPE elements and <i>i</i> is equal or more than <see cref="P:Devart.Data.Oracle.OracleArrayDataReader.FieldCount" />, or it is less than zero, <see cref="T:System.ArgumentOutOfRangeException" /> is thrown. </remarks>
      <keywords>OracleArrayDataReader.GetInt16 method </keywords>
      <param name="i">Zero-based ordinal of the OBJECT TYPE property. Ignored when array consists of elements with type other than OBJECT TYPE. </param>
      <returns>The value of the current array element property, having the specified index, if the array consists of OBJECT TYPE elements as a 16-bit signed integer. Otherwise, the value of the current array element as a 16-bit signed integer. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleArrayDataReader.GetInt32(System.Int32)">
      <summary>If the array consists of OBJECT TYPE elements, gets the value of the specified  property of the current array element, as a 32-bit signed integer, otherwise, gets the value of the current array element as a 32-bit signed integer. </summary>
      <remarks>If the array consists of OBJECT TYPE elements and <i>i</i> is equal or more than <see cref="P:Devart.Data.Oracle.OracleArrayDataReader.FieldCount" />, or it is less than zero, <see cref="T:System.ArgumentOutOfRangeException" /> is thrown. </remarks>
      <keywords>OracleArrayDataReader.GetInt32 method </keywords>
      <param name="i">Zero-based ordinal of the OBJECT TYPE property. Ignored when array consists of elements with type other than OBJECT TYPE. </param>
      <returns>The value of the current array element property, having the specified index, if the array consists of OBJECT TYPE elements as a 32-bit signed integer. Otherwise, the value of the current array element as a 32-bit signed integer. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleArrayDataReader.GetInt64(System.Int32)">
      <summary>If the array consists of OBJECT TYPE elements, gets the value of the specified  property of the current array element, as a 64-bit signed integer, otherwise, gets the value of the current array element as a 64-bit signed integer. </summary>
      <remarks>If the array consists of OBJECT TYPE elements and <i>i</i> is equal or more than <see cref="P:Devart.Data.Oracle.OracleArrayDataReader.FieldCount" />, or it is less than zero, <see cref="T:System.ArgumentOutOfRangeException" /> is thrown. </remarks>
      <keywords>OracleArrayDataReader.GetInt64 method </keywords>
      <param name="i">Zero-based ordinal of the OBJECT TYPE property. Ignored when array consists of elements with type other than OBJECT TYPE. </param>
      <returns>The value of the current array element property, having the specified index, if the array consists of OBJECT TYPE elements as a 64-bit signed integer. Otherwise, the value of the current array element as a 64-bit signed integer. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleArrayDataReader.GetName(System.Int32)">
      <summary>If the array consists of OBJECT TYPE elements, gets the name of the specified  property of the current array element. </summary>
      <remarks>If the array consists of OBJECT TYPE elements and <i>i</i> is equal or more than <see cref="P:Devart.Data.Oracle.OracleArrayDataReader.FieldCount" />, or it is less than zero, <see cref="T:System.ArgumentOutOfRangeException" /> is thrown. </remarks>
      <keywords>OracleArrayDataReader.GetName method </keywords>
      <param name="i">Zero-based ordinal of the OBJECT TYPE property. </param>
      <returns>The name of the specified  property of the current array element, if the array consists of OBJECT TYPE elements as a Boolean. Otherwise, the result of the method is undefined. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleArrayDataReader.GetOracleArray(System.Int32)">
      <summary>If the array consists of OBJECT TYPE elements, gets the value of the specified  property of the current array element, as an <see cref="T:Devart.Data.Oracle.OracleArray" /> object, otherwise, gets the value of the current array element as an <see cref="T:Devart.Data.Oracle.OracleArray" /> object. </summary>
      <remarks>If the array consists of OBJECT TYPE elements and <i>i</i> is equal or more than <see cref="P:Devart.Data.Oracle.OracleArrayDataReader.FieldCount" />, or it is less than zero, <see cref="T:System.ArgumentOutOfRangeException" /> is thrown. </remarks>
      <keywords>OracleArrayDataReader.GetOracleArray method </keywords>
      <param name="i">Zero-based ordinal of the OBJECT TYPE property. Ignored when array consists of elements with type other than OBJECT TYPE. </param>
      <returns>The value of the current array element property, having the specified index, if the array consists of OBJECT TYPE elements as an <see cref="T:Devart.Data.Oracle.OracleArray" /> object. Otherwise, the value of the current array element as an <see cref="T:Devart.Data.Oracle.OracleArray" /> object. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleArrayDataReader.GetOracleBFile(System.Int32)">
      <summary>If the array consists of OBJECT TYPE elements, gets the value of the specified  property of the current array element, as an <see cref="T:Devart.Data.Oracle.OracleBFile" /> object, otherwise, gets the value of the current array element as an <see cref="T:Devart.Data.Oracle.OracleBFile" /> object. </summary>
      <remarks>If the array consists of OBJECT TYPE elements and <i>i</i> is equal or more than <see cref="P:Devart.Data.Oracle.OracleArrayDataReader.FieldCount" />, or it is less than zero, <see cref="T:System.ArgumentOutOfRangeException" /> is thrown. </remarks>
      <keywords>OracleArrayDataReader.GetOracleBFile method </keywords>
      <param name="i">Zero-based ordinal of the OBJECT TYPE property. Ignored when array consists of elements with type other than OBJECT TYPE. </param>
      <returns>The value of the current array element property, having the specified index, if the array consists of OBJECT TYPE elements as an <see cref="T:Devart.Data.Oracle.OracleBFile" /> object. Otherwise, the value of the current array element as an <see cref="T:Devart.Data.Oracle.OracleBFile" /> object. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleArrayDataReader.GetOracleBinary(System.Int32)">
      <summary>If the array consists of OBJECT TYPE elements, gets the value of the specified  property of the current array element, as an <see cref="T:Devart.Data.Oracle.OracleBinary" /> object, otherwise, gets the value of the current array element as an <see cref="T:Devart.Data.Oracle.OracleBinary" /> object. </summary>
      <remarks>If the array consists of OBJECT TYPE elements and <i>i</i> is equal or more than <see cref="P:Devart.Data.Oracle.OracleArrayDataReader.FieldCount" />, or it is less than zero, <see cref="T:System.ArgumentOutOfRangeException" /> is thrown. </remarks>
      <keywords>OracleArrayDataReader.GetOracleBinary method </keywords>
      <param name="i">Zero-based ordinal of the OBJECT TYPE property. Ignored when array consists of elements with type other than OBJECT TYPE. </param>
      <returns>The value of the current array element property, having the specified index, if the array consists of OBJECT TYPE elements as an <see cref="T:Devart.Data.Oracle.OracleBinary" /> object. Otherwise, the value of the current array element as an <see cref="T:Devart.Data.Oracle.OracleBinary" /> object. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleArrayDataReader.GetOracleCursor(System.Int32)">
      <summary>If the array consists of OBJECT TYPE elements, gets the value of the specified  property of the current array element, as an <see cref="T:Devart.Data.Oracle.OracleCursor" /> object, otherwise, gets the value of the current array element as an <see cref="T:Devart.Data.Oracle.OracleCursor" /> object. </summary>
      <remarks>If the array consists of OBJECT TYPE elements and <i>i</i> is equal or more than <see cref="P:Devart.Data.Oracle.OracleArrayDataReader.FieldCount" />, or it is less than zero, <see cref="T:System.ArgumentOutOfRangeException" /> is thrown. </remarks>
      <keywords>OracleArrayDataReader.GetOracleCursor method </keywords>
      <param name="i">Zero-based ordinal of the OBJECT TYPE property. Ignored when array consists of elements with type other than OBJECT TYPE. </param>
      <returns>The value of the current array element property, having the specified index, if the array consists of OBJECT TYPE elements as an <see cref="T:Devart.Data.Oracle.OracleCursor" /> object. Otherwise, the value of the current array element as an <see cref="T:Devart.Data.Oracle.OracleCursor" /> object. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleArrayDataReader.GetOracleDate(System.Int32)">
      <summary>If the array consists of OBJECT TYPE elements, gets the value of the specified  property of the current array element, as an <see cref="T:Devart.Data.Oracle.OracleDate" /> object, otherwise, gets the value of the current array element as an <see cref="T:Devart.Data.Oracle.OracleDate" /> object. </summary>
      <remarks>If the array consists of OBJECT TYPE elements and <i>i</i> is equal or more than <see cref="P:Devart.Data.Oracle.OracleArrayDataReader.FieldCount" />, or it is less than zero, <see cref="T:System.ArgumentOutOfRangeException" /> is thrown. </remarks>
      <keywords>OracleArrayDataReader.GetOracleDate method </keywords>
      <param name="i">Zero-based ordinal of the OBJECT TYPE property. Ignored when array consists of elements with type other than OBJECT TYPE. </param>
      <returns>The value of the current array element property, having the specified index, if the array consists of OBJECT TYPE elements as an <see cref="T:Devart.Data.Oracle.OracleDate" /> object. Otherwise, the value of the current array element as an <see cref="T:Devart.Data.Oracle.OracleDate" /> object. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleArrayDataReader.GetOracleIntervalDS(System.Int32)">
      <summary>If the array consists of OBJECT TYPE elements, gets the value of the specified  property of the current array element, as an <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> object, otherwise, gets the value of the current array element as an <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> object. </summary>
      <remarks>If the array consists of OBJECT TYPE elements and <i>i</i> is equal or more than <see cref="P:Devart.Data.Oracle.OracleArrayDataReader.FieldCount" />, or it is less than zero, <see cref="T:System.ArgumentOutOfRangeException" /> is thrown. </remarks>
      <keywords>OracleArrayDataReader.GetOracleIntervalDS method </keywords>
      <param name="i">Zero-based ordinal of the OBJECT TYPE property. Ignored when array consists of elements with type other than OBJECT TYPE. </param>
      <returns>The value of the current array element property, having the specified index, if the array consists of OBJECT TYPE elements as an <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> object. Otherwise, the value of the current array element as an <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> object. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleArrayDataReader.GetOracleIntervalYM(System.Int32)">
      <summary>If the array consists of OBJECT TYPE elements, gets the value of the specified  property of the current array element, as an <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> object, otherwise, gets the value of the current array element as an <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> object. </summary>
      <remarks>If the array consists of OBJECT TYPE elements and <i>i</i> is equal or more than <see cref="P:Devart.Data.Oracle.OracleArrayDataReader.FieldCount" />, or it is less than zero, <see cref="T:System.ArgumentOutOfRangeException" /> is thrown. </remarks>
      <keywords>OracleArrayDataReader.GetOracleIntervalYM method </keywords>
      <param name="i">Zero-based ordinal of the OBJECT TYPE property. Ignored when array consists of elements with type other than OBJECT TYPE. </param>
      <returns>The value of the current array element property, having the specified index, if the array consists of OBJECT TYPE elements as an <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> object. Otherwise, the value of the current array element as an <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> object. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleArrayDataReader.GetOracleLob(System.Int32)">
      <summary>If the array consists of OBJECT TYPE elements, gets the value of the specified  property of the current array element, as an <see cref="T:Devart.Data.Oracle.OracleLob" /> object, otherwise, gets the value of the current array element as an <see cref="T:Devart.Data.Oracle.OracleLob" /> object. </summary>
      <remarks>If the array consists of OBJECT TYPE elements and <i>i</i> is equal or more than <see cref="P:Devart.Data.Oracle.OracleArrayDataReader.FieldCount" />, or it is less than zero, <see cref="T:System.ArgumentOutOfRangeException" /> is thrown. </remarks>
      <keywords>OracleArrayDataReader.GetOracleLob method </keywords>
      <param name="i">Zero-based ordinal of the OBJECT TYPE property. Ignored when array consists of elements with type other than OBJECT TYPE. </param>
      <returns>The value of the current array element property, having the specified index, if the array consists of OBJECT TYPE elements as an <see cref="T:Devart.Data.Oracle.OracleLob" /> object. Otherwise, the value of the current array element as an <see cref="T:Devart.Data.Oracle.OracleLob" /> object. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleArrayDataReader.GetOracleMonthSpan(System.Int32)">
      <summary>If the array consists of OBJECT TYPE elements, gets the value of the specified  property of the current array element, as an OracleMonthSpan object, otherwise, gets the value of the current array element as an OracleMonthSpan object. </summary>
      <remarks>If the array consists of OBJECT TYPE elements and <i>i</i> is equal or more than <see cref="P:Devart.Data.Oracle.OracleArrayDataReader.FieldCount" />, or it is less than zero, <see cref="T:System.ArgumentOutOfRangeException" /> is thrown. </remarks>
      <keywords>OracleArrayDataReader.GetOracleMonthSpan method </keywords>
      <param name="i">Zero-based ordinal of the OBJECT TYPE property. Ignored when array consists of elements with type other than OBJECT TYPE. </param>
      <returns>The value of the current array element property, having the specified index, if the array consists of OBJECT TYPE elements as an OracleMonthSpan object. Otherwise, the value of the current array element as an OracleMonthSpan object. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleArrayDataReader.GetOracleNumber(System.Int32)">
      <summary>If the array consists of OBJECT TYPE elements, gets the value of the specified  property of the current array element, as an <see cref="T:Devart.Data.Oracle.OracleNumber" /> object, otherwise, gets the value of the current array element as an <see cref="T:Devart.Data.Oracle.OracleNumber" /> object. </summary>
      <remarks>If the array consists of OBJECT TYPE elements and <i>i</i> is equal or more than <see cref="P:Devart.Data.Oracle.OracleArrayDataReader.FieldCount" />, or it is less than zero, <see cref="T:System.ArgumentOutOfRangeException" /> is thrown. </remarks>
      <keywords>OracleArrayDataReader.GetOracleNumber method </keywords>
      <param name="i">Zero-based ordinal of the OBJECT TYPE property. Ignored when array consists of elements with type other than OBJECT TYPE. </param>
      <returns>The value of the current array element property, having the specified index, if the array consists of OBJECT TYPE elements as an <see cref="T:Devart.Data.Oracle.OracleNumber" /> object. Otherwise, the value of the current array element as an <see cref="T:Devart.Data.Oracle.OracleNumber" /> object. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleArrayDataReader.GetOracleObject(System.Int32)">
      <summary>If the array consists of OBJECT TYPE elements, gets the value of the specified  property of the current array element, as an <see cref="T:Devart.Data.Oracle.OracleObject" /> object, otherwise, gets the value of the current array element as an <see cref="T:Devart.Data.Oracle.OracleObject" /> object. </summary>
      <remarks>If the array consists of OBJECT TYPE elements and <i>i</i> is equal or more than <see cref="P:Devart.Data.Oracle.OracleArrayDataReader.FieldCount" />, or it is less than zero, <see cref="T:System.ArgumentOutOfRangeException" /> is thrown. </remarks>
      <keywords>OracleArrayDataReader.GetOracleObject method </keywords>
      <param name="i">Zero-based ordinal of the OBJECT TYPE property. Ignored when array consists of elements with type other than OBJECT TYPE. </param>
      <returns>The value of the current array element property, having the specified index, if the array consists of OBJECT TYPE elements as an <see cref="T:Devart.Data.Oracle.OracleObject" /> object. Otherwise, the value of the current array element as an <see cref="T:Devart.Data.Oracle.OracleObject" /> object. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleArrayDataReader.GetOracleRef(System.Int32)">
      <summary>If the array consists of OBJECT TYPE elements, gets the value of the specified  property of the current array element, as an <see cref="T:Devart.Data.Oracle.OracleRef" /> object, otherwise, gets the value of the current array element as an <see cref="T:Devart.Data.Oracle.OracleRef" /> object. </summary>
      <remarks>If the array consists of OBJECT TYPE elements and <i>i</i> is equal or more than <see cref="P:Devart.Data.Oracle.OracleArrayDataReader.FieldCount" />, or it is less than zero, <see cref="T:System.ArgumentOutOfRangeException" /> is thrown. </remarks>
      <keywords>OracleArrayDataReader.GetOracleRef method </keywords>
      <param name="i">Zero-based ordinal of the OBJECT TYPE property. Ignored when array consists of elements with type other than OBJECT TYPE. </param>
      <returns>The value of the current array element property, having the specified index, if the array consists of OBJECT TYPE elements as an <see cref="T:Devart.Data.Oracle.OracleRef" /> object. Otherwise, the value of the current array element as an <see cref="T:Devart.Data.Oracle.OracleRef" /> object. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleArrayDataReader.GetOracleString(System.Int32)">
      <summary>If the array consists of OBJECT TYPE elements, gets the value of the specified  property of the current array element, as an <see cref="T:Devart.Data.Oracle.OracleString" /> object, otherwise, gets the value of the current array element as an <see cref="T:Devart.Data.Oracle.OracleString" /> object. </summary>
      <remarks>If the array consists of OBJECT TYPE elements and <i>i</i> is equal or more than <see cref="P:Devart.Data.Oracle.OracleArrayDataReader.FieldCount" />, or it is less than zero, <see cref="T:System.ArgumentOutOfRangeException" /> is thrown. </remarks>
      <keywords>OracleArrayDataReader.GetOracleString method </keywords>
      <param name="i">Zero-based ordinal of the OBJECT TYPE property. Ignored when array consists of elements with type other than OBJECT TYPE. </param>
      <returns>The value of the current array element property, having the specified index, if the array consists of OBJECT TYPE elements as an <see cref="T:Devart.Data.Oracle.OracleString" /> object. Otherwise, the value of the current array element as an <see cref="T:Devart.Data.Oracle.OracleString" /> object. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleArrayDataReader.GetOracleTable(System.Int32)">
      <summary>If the array consists of OBJECT TYPE elements, gets the value of the specified  property of the current array element, as an <see cref="T:Devart.Data.Oracle.OracleTable" /> object, otherwise, gets the value of the current array element as an <see cref="T:Devart.Data.Oracle.OracleTable" /> object. </summary>
      <remarks>If the array consists of OBJECT TYPE elements and <i>i</i> is equal or more than <see cref="P:Devart.Data.Oracle.OracleArrayDataReader.FieldCount" />, or it is less than zero, <see cref="T:System.ArgumentOutOfRangeException" /> is thrown. </remarks>
      <keywords>OracleArrayDataReader.GetOracleTable method </keywords>
      <param name="i">Zero-based ordinal of the OBJECT TYPE property. Ignored when array consists of elements with type other than OBJECT TYPE. </param>
      <returns>The value of the current array element property, having the specified index, if the array consists of OBJECT TYPE elements as an <see cref="T:Devart.Data.Oracle.OracleTable" /> object. Otherwise, the value of the current array element as an <see cref="T:Devart.Data.Oracle.OracleTable" /> object. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleArrayDataReader.GetOracleTimeSpan(System.Int32)">
      <summary>If the array consists of OBJECT TYPE elements, gets the value of the specified  property of the current array element, as an OracleTimeSpan object, otherwise, gets the value of the current array element as an OracleTimeSpan object. </summary>
      <remarks>If the array consists of OBJECT TYPE elements and <i>i</i> is equal or more than <see cref="P:Devart.Data.Oracle.OracleArrayDataReader.FieldCount" />, or it is less than zero, <see cref="T:System.ArgumentOutOfRangeException" /> is thrown. </remarks>
      <keywords>OracleArrayDataReader.GetOracleTimeSpan method </keywords>
      <param name="i">Zero-based ordinal of the OBJECT TYPE property. Ignored when array consists of elements with type other than OBJECT TYPE. </param>
      <returns>The value of the current array element property, having the specified index, if the array consists of OBJECT TYPE elements as an OracleTimeSpan object. Otherwise, the value of the current array element as an OracleTimeSpan object. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleArrayDataReader.GetOracleValue(System.Int32)">
      <summary>If the array consists of OBJECT TYPE elements, gets the value of the specified  property of the current array element in its Oracle format wrapped by dotConnect for Oracle, otherwise, gets the value of the current array element in its Oracle format wrapped by dotConnect for Oracle. </summary>
      <remarks>If the array consists of OBJECT TYPE elements and <i>i</i> is equal or more than <see cref="P:Devart.Data.Oracle.OracleArrayDataReader.FieldCount" />, or it is less than zero, <see cref="T:System.ArgumentOutOfRangeException" /> is thrown. </remarks>
      <keywords>OracleArrayDataReader.GetOracleValue method </keywords>
      <param name="i">Zero-based ordinal of the OBJECT TYPE property. Ignored when array consists of elements with type other than OBJECT TYPE. </param>
      <returns>The value of the current array element property, having the specified index, if the array consists of OBJECT TYPE elements, in its Oracle format wrapped by dotConnect for Oracle. Otherwise, the value of the current array element in its Oracle format wrapped by dotConnect for Oraclein its Oracle format wrapped by dotConnect for Oraclein its Oracle format wrapped by dotConnect for Oracle. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleArrayDataReader.GetOrdinal(System.String)">
      <summary>Gets the ordinal of the specified OBJECT TYPE property. </summary>
      <keywords>OracleArrayDataReader.GetOrdinal method </keywords>
      <param name="name">Name of the property to get the ordinal of. </param>
      <returns>Ordinal of the specified OBJECT TYPE property. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleArrayDataReader.GetSchemaTable()">
      <summary>Gets array metadata. If array consists of OBJECT TYPE elements, object type properties correspond to table columns. Otherwise, <see cref="T:System.Data.DataTable" /> has only one column with the same datatype as array elements. </summary>
      <keywords>OracleArrayDataReader.GetSchemaTable method </keywords>
      <returns>Array metadata as a <see cref="T:System.Data.DataTable" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleArrayDataReader.GetString(System.Int32)">
      <summary>If the array consists of OBJECT TYPE elements, gets the value of the specified  property of the current array element, as a string, otherwise, gets the value of the current array element as a string. </summary>
      <remarks>If the array consists of OBJECT TYPE elements and <i>i</i> is equal or more than <see cref="P:Devart.Data.Oracle.OracleArrayDataReader.FieldCount" />, or it is less than zero, <see cref="T:System.ArgumentOutOfRangeException" /> is thrown. </remarks>
      <keywords>OracleArrayDataReader.GetString method </keywords>
      <param name="i">Zero-based ordinal of the OBJECT TYPE property. Ignored when array consists of elements with type other than OBJECT TYPE. </param>
      <returns>The value of the current array element property, having the specified index, if the array consists of OBJECT TYPE elements as a string. Otherwise, the value of the current array element as a string. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleArrayDataReader.GetValue(System.Int32)">
      <summary>If the array consists of OBJECT TYPE elements, gets the value of the specified  property of the current array element, as a Boolean, otherwise, gets the value of the current array element as a Boolean. </summary>
      <remarks>If the array consists of OBJECT TYPE elements and <i>i</i> is equal or more than <see cref="P:Devart.Data.Oracle.OracleArrayDataReader.FieldCount" />, or it is less than zero, <see cref="T:System.ArgumentOutOfRangeException" /> is thrown. </remarks>
      <keywords>OracleArrayDataReader.GetValue method </keywords>
      <param name="i">Zero-based ordinal of the OBJECT TYPE property. Ignored when array consists of elements with type other than OBJECT TYPE. </param>
      <returns>The value of the current array element property, having the specified index, if the array consists of OBJECT TYPE elements as a Boolean. Otherwise, the value of the current array element as a Boolean. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleArrayDataReader.GetValues(System.Object[])">
      <summary>Gets OBJECT TYPE properties of the current array element, if the array consists of the OBJECT TYPE elements. Otherwise, gets current array element as a single value. </summary>
      <remarks>For most applications, the <see cref="M:OracleArrayDataReader.GetValues" /> method provides an efficient way for retrieving all properties, rather than retrieving each property individually.
<para>You can pass an <see cref="T:System.Object" /> array that contains fewer than the number of columns contained in the resulting row. Only the amount of data the <see cref="T:System.Object" /> array holds is copied to the array. You can also pass an <see cref="T:System.Object" /> array whose length is more than the number of columns contained in the resulting row.</para><para>This method returns <see cref="T:System.DBNull" /> for null database columns.</para> </remarks>
      <keywords>OracleArrayDataReader.GetValues method </keywords>
      <param name="values">An array of <see cref="T:System.Object" /> into which to copy the current array element properties. </param>
      <returns>The number of returned instances of <see cref="T:System.Object" /> in the array. </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleArrayDataReader.IsClosed">
      <summary>Indicates whether the <see cref="T:Devart.Data.Oracle.OracleArrayDataReader" /> was closed. </summary>
      <keywords>OracleArrayDataReader.IsClosed property </keywords>
      <value>True if the <see cref="T:DevartData.Oracle.OracleArrayDataReader" /> was closed (<see cref="M:Devart.Data.Oracle.OracleArrayDataReader.Close()" /> method was called); otherwise, false. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleArrayDataReader.IsDBNull(System.Int32)">
      <summary>If the array consists of OBJECT TYPE elements, indicates whether the specified  property of the current array element is null, otherwise, indicates wether the current array element is null. </summary>
      <remarks>If the array consists of OBJECT TYPE elements and <i>i</i> is equal or more than <see cref="P:Devart.Data.Oracle.OracleArrayDataReader.FieldCount" />, or it is less than zero, <see cref="T:System.ArgumentOutOfRangeException" /> is thrown. </remarks>
      <keywords>OracleArrayDataReader.IsDBNull method </keywords>
      <param name="i">Zero-based ordinal of the OBJECT TYPE property. Ignored when array consists of elements with type other than OBJECT TYPE. </param>
      <returns>True if the current array element property, having the specified index, is null, or if the array consists of elements other than OBJECT TYPE and the current array element is null. Otherwise, false. </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleArrayDataReader.Item(System.Int32)">
      <summary>If the array consists of OBJECT TYPE elements, gets or sets the value of the specified  property of the current array element, as a Boolean, otherwise, gets the value of the current array element as a Boolean. </summary>
      <remarks>If the array consists of OBJECT TYPE elements and <i>i</i> is equal or more than <see cref="P:Devart.Data.Oracle.OracleArrayDataReader.FieldCount" />, or it is less than zero, <see cref="T:System.ArgumentOutOfRangeException" /> is thrown. </remarks>
      <keywords>OracleArrayDataReader.Item property </keywords>
      <param name="i">Zero-based ordinal of the OBJECT TYPE property. Ignored when the array consists of elements with type other than OBJECT TYPE. </param>
      <value>The value of the current array element property, having the specified index, if the array consists of OBJECT TYPE elements as a Boolean. Otherwise, the value of the current array element as a Boolean. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleArrayDataReader.Item(System.String)">
      <summary>If the array consists of OBJECT TYPE elements, gets or sets the value of the specified  property of the current array element, as a Boolean, otherwise, gets the value of the current array element as a Boolean. </summary>
      <remarks>If the array consists of OBJECT TYPE elements and <i>i</i> is equal or more than <see cref="P:Devart.Data.Oracle.OracleArrayDataReader.FieldCount" />, or it is less than zero, <see cref="T:System.ArgumentOutOfRangeException" /> is thrown. </remarks>
      <keywords>OracleArrayDataReader.Item property </keywords>
      <param name="name">Name of the OBJECT TYPE property. If the array consists of elements with type other than OBJECT TYPE, and this parameter is used, <see cref="T:System.IndexOutOfRangeException" /> is thrown. </param>
      <value>The value of the current array element property, having the specified index, if the array consists of OBJECT TYPE elements as a Boolean. Otherwise, the value of the current array element as a Boolean. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleArrayDataReader.NextResult()">
      <summary>Advances the data reader to the next result, when reading the results of batch SQL statements. </summary>
      <remarks>Used to process multiple results, which can be generated by executing batch SQL statements.
<para>By default, the <see cref="T:DevartData.Oracle.OracleArrayDataReader" /> is positioned on the first result.</para> </remarks>
      <keywords>OracleArrayDataReader.NextResult method </keywords>
      <returns>
        <see langword="true" /> if there are more result sets; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleArrayDataReader.Read()">
      <summary>Advances the <see cref="T:DevartData.Oracle.OracleArrayDataReader" /> to the next array element. </summary>
      <remarks>The default position of the <see cref="T:DevartData.Oracle.OracleArrayDataReader" /> is prior to the first record. Therefore, you must call the Read method to begin accessing any data.
<para>While the <see cref="T:DevartData.Oracle.OracleArrayDataReader" /> is in use, the associated <see cref="T:DevartData.Oracle.OracleConnection" /> is busy serving it until you call <see cref="M:DevartData.Oracle.OracleArrayDataReader.Close" />.</para> </remarks>
      <keywords>OracleArrayDataReader.Read method </keywords>
      <returns>
        <see langword="true" /> if there are more rows; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleArrayDataReader.RecordsAffected">
      <summary>Do not use. </summary>
      <keywords>OracleArrayDataReader.RecordsAffected property </keywords>
      <value>Always 0. </value>
    </member>
    <member name="T:Devart.Data.Oracle.OracleAttribute">
      <summary>Represents an attribute of the <see cref="T:Devart.Data.Oracle.OracleObject" /> type. </summary>
      <remarks><para>Describes an attribute of the object type. The OracleAttribute object provides only metadata of the type attribute, not the attribute value for the particular object. To get the attribute value, the <see cref="P:Devart.Data.Oracle.OracleObject.Item(Devart.Data.Oracle.OracleAttribute)" /> property should be used; note that one of its overloads takes an OracleAttribute object as a parameter.</para>
<para>The full collection of type's attributes may be received from the <see cref="P:Devart.Data.Oracle.OracleType.Attributes" /> property of the <see cref="T:Devart.Data.Oracle.OracleType" /> object.</para> </remarks>
      <example><para>This example demonstrates how to retrieve <see cref="T:Devart.Data.Oracle.OracleType" /> object from server and display its attributes. To create required type and table and fill it with data you can use the following script:
<pre>CREATE TYPE TAddress AS OBJECT (
  Country VARCHAR2(30),
  City VARCHAR2(30),
  Street VARCHAR2(30),
  Apartment NUMBER
);

CREATE TABLE EmpObject (
  Code NUMBER PRIMARY KEY,
  Person VARCHAR2(40),
  Address TAddress,
  Job VARCHAR2(9)
);

INSERT INTO EmpObject
  (Code, Person, Address, Job)
VALUES
  (1, 'SMITH', TAddress('UK', 'London', 'Street', 12), 'CLERK');
INSERT INTO EmpObject
  (Code, Person, Address, Job)
VALUES
  (2, 'JONES', TAddress('USA', 'New York', 'Street', 418), 'MANAGER');
INSERT INTO EmpObject
  (Code, Person, Address, Job)
VALUES
  (3, 'SCOTT', TAddress('CANADA', 'Ottawa', 'Street', 26),'PRESIDENT');
INSERT INTO EmpObject
  (Code, Person, Address, Job)
VALUES
  (4, 'MARTIN', TAddress('FRANCE', 'Paris', 'Street', 162), 'ANALYST');
</pre>
</para> <code lang="csharp">OracleConnection connection = new OracleConnection("User Id=scott;Password=tiger;Data Source=ora");
OracleCommand command = new OracleCommand("SELECT * FROM EmpObject", connection);
connection.Open();
OracleDataReader dataReader = command.ExecuteReader();
try{
  int index = dataReader.GetOrdinal("Address");
  while (dataReader.Read()) {
    OracleObject oraObj = dataReader.GetOracleObject(index);
    OracleType oraType = dataReader.GetObjectType(index);
    if (!oraObj.IsNull &amp;&amp; oraType != null) {
      Console.WriteLine(dataReader.GetString(1) +" - " + dataReader.GetString(3));
      Console.WriteLine("Adress:");
      for (int i = 0; i &lt; oraType.Attributes.Count; i++)
        Console.WriteLine( "\t" + oraObj[oraType.Attributes[i]]);
    }
  }
}
catch (Devart.Data.Oracle.OracleException ex) {
  Console.WriteLine(ex.Message);
}
finally{
  dataReader.Close();
  connection.Close();
} </code><code lang="vb">Dim connection As New OracleConnection("User Id=scott;Password=tiger;Data Source=ora")
Dim command As New OracleCommand("SELECT * FROM EmpObject", connection)
connection.Open()
Dim dataReader As OracleDataReader = command.ExecuteReader()
Try
  Dim index As Integer = dataReader.GetOrdinal("Address")
  While dataReader.Read()
    Dim oraObj As OracleObject = dataReader.GetOracleObject(index)
    Dim oraType As OracleType = dataReader.GetObjectType(index)
    If Not oraObj.IsNull And Not oraType Is Nothing Then
      Console.WriteLine(dataReader.GetString(1) &amp; " - " &amp; dataReader.GetString(3))
      Console.WriteLine("Adress:")
      Dim I As Integer
      For I = 0 To oraType.Attributes.Count - 1
        Console.WriteLine(Chr(9) &amp; oraObj(oraType.Attributes(I)))
      Next I
    End If
  End While
Catch ex As Devart.Data.Oracle.OracleException
  Console.WriteLine(ex.Message)
Finally
  dataReader.Close()
  connection.Close()
End Try </code></example>
      <seealso cref="T:Devart.Data.Oracle.OracleAttributeCollection" />
      <seealso cref="P:Devart.Data.Oracle.OracleObject.Item(Devart.Data.Oracle.OracleAttribute)" />
    </member>
    <member name="P:Devart.Data.Oracle.OracleAttribute.DbType">
      <summary>Gets the <see cref="T:Devart.Data.Oracle.OracleDbType" /> of the specified attribute. </summary>
      <keywords>OracleAttribute.DbType property </keywords>
      <value>One of the <see cref="T:Devart.Data.Oracle.OracleDbType" /> values. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleAttribute.Name">
      <summary>Gets the name of the <see cref="T:Devart.Data.Oracle.OracleAttribute" />. </summary>
      <remarks><para>Use name of the attribute to get <see cref="T:Devart.Data.Oracle.OracleAttribute" /> description and its values by <see cref="P:Devart.Data.Oracle.OracleObject.Item" /> property.</para> </remarks>
      <keywords>OracleAttribute.Name property </keywords>
      <value>The name of the <see cref="T:Devart.Data.Oracle.OracleAttribute" />. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleAttribute.ObjectType">
      <summary>Gets an <see cref="T:Devart.Data.Oracle.OracleType" /> of the specified attribute. </summary>
      <keywords>OracleAttribute.ObjectType property </keywords>
      <value>An <see cref="T:Devart.Data.Oracle.OracleType" /> of the specified attribute if its type is Oracle object type; otherwise, null. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleAttribute.Precision">
      <summary>Gets the maximum number of digits used to represent the attribute value. </summary>
      <remarks>The <see cref="P:Devart.Data.Oracle.OracleAttribute.Precision" /> property is only used for numeric attributes. </remarks>
      <keywords>OracleAttribute.Precision property </keywords>
      <value>The maximum number of digits used to represent the attribute value. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleAttribute.Scale">
      <summary>Gets the number of decimal places to which attribute value is resolved. </summary>
      <remarks>The <see cref="P:Devart.Data.Oracle.OracleAttribute.Scale" /> property is only used for numeric attributes. </remarks>
      <keywords>OracleAttribute.Scale property </keywords>
      <value>The number of decimal places to which attribute value is resolved. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleAttribute.TypeName">
      <summary>Gets a name for the Oracle object type. </summary>
      <remarks>You can describe attribute of <see cref="T:Devart.Data.Oracle.OracleObject" /> type using this property. </remarks>
      <keywords>OracleAttribute.TypeName property </keywords>
      <value><see cref="T:System.String" /> representing a name for the Oracle object type. </value>
    </member>
    <member name="T:Devart.Data.Oracle.OracleAttributeCollection">
      <summary>Represents attributes of Oracle object type. </summary>
      <remarks>An <see cref="T:Devart.Data.Oracle.OracleAttributeCollection" /> represents describe information for object type. Collection can be used only for reading. </remarks>
      <seealso cref="T:Devart.Data.Oracle.OracleAttribute" />
    </member>
    <member name="P:Devart.Data.Oracle.OracleAttributeCollection.Item(System.Int32)">
      <summary>Gets the <see cref="T:Devart.Data.Oracle.OracleAttribute" /> at the specified index. </summary>
      <keywords>OracleAttributeCollection.Item property </keywords>
      <param name="i">The zero-based index of the parameter to retrieve. </param>
      <value>The <see cref="T:Devart.Data.Oracle.OracleAttribute" /> at the specified index. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleAttributeCollection.Item(System.String)">
      <summary>Gets the <see cref="T:Devart.Data.Oracle.OracleAttribute" /> with the specified name. </summary>
      <keywords>OracleAttributeCollection.Item property </keywords>
      <param name="name">The name of the attribute to retrieve. Note that it is case-sensitive. </param>
      <value>The <see cref="T:Devart.Data.Oracle.OracleAttribute" /> with the specified name. </value>
    </member>
    <member name="T:Devart.Data.Oracle.OracleBFile">
      <summary>Represents a managed <see cref="T:Devart.Data.Oracle.OracleBFile" /> object to work with the Oracle BFILE data type. </summary>
      <remarks>The Oracle BFILE data type represents a reference to the physical file in the operating system where Oracle is installed. Maximum size of the file is 4 gigabytes. The <see cref="T:Devart.Data.Oracle.OracleDbType" />.BFile data type cannot be modified and provides read-only access to data. So write-oriented methods of <see cref="T:Devart.Data.Oracle.OracleBFile" /> class are not supported.
<para>To read data use <see cref="M:Devart.Data.Oracle.OracleBFile.Read" /> and <see cref="M:Devart.Data.Oracle.OracleLob.Seek" /> methods.</para> </remarks>
      <example><para>The following sample shows how the OracleBFile class can be used. We insert a BFile object to the database and then print the content of the corresponding file on the physical drive. To run the sample, you need to create the BFileTable table first:</para>
<pre>CREATE TABLE BFileTable (
  id NUMBER,
  bf BFILE)</pre> <code lang="csharp">      // Open a connection
      OracleConnection con = new OracleConnection("Server = Ora; User Id = Scott; Password = tiger;");
      con.Open();

      OracleCommand com = new OracleCommand();
      com.Connection = con;

      // Create an Oracle directory corresponding to the folder containing the file.
      com.CommandText = "CREATE OR REPLACE DIRECTORY Images as 'D:\\images\\'";
      com.ExecuteNonQuery();

      // Create an OracleBFile object.
      // Note that the directory name should be in upper case. 
      // Otherwise, it will be case-sensitive and may cause errors.
      OracleBFile bFile = new OracleBFile(con, "IMAGES", "image001.jpg");

      // Insert the OracleBFile object to the database.
      com.CommandText = "INSERT INTO BFileTable VALUES (1, :bfile)";
      com.Parameters.Add(new OracleParameter("bfile", bFile));
      com.ExecuteNonQuery();

      // Retrieve data from the table.
      com.Parameters.Clear();
      com.CommandText = "SELECT * FROM BFileTable";
      OracleDataReader reader = com.ExecuteReader();

      while (reader.Read()) {

      	// Get BFiles from the reader and print a part of their content.
      	bFile = reader.GetOracleBFile(1);
      	bFile.OpenFile();

      	byte[] buffer = new byte[100];
      	bFile.Read(buffer, 0, 100);
      	foreach(byte bt in buffer)
      	   	Console.Write(bt + " ");

   	    Console.WriteLine();

      	bFile.Close();
      } </code><code lang="vb">        ' Open a connection
        Dim con = New OracleConnection("Server = Ora; User Id = Scott; Password = tiger;")
        con.Open()

        Dim com = New OracleCommand()
        com.Connection = con

        ' Create an Oracle directory corresponding to the folder containing the file.
        com.CommandText = "CREATE OR REPLACE DIRECTORY Images as 'D:\\Images\\'"
        com.ExecuteNonQuery()

        ' Create an OracleBFile object.
        ' Note that the directory name should be in upper case. 
        ' Otherwise, it will be case-sensitive and may cause errors.
        Dim bFile As OracleBFile = New OracleBFile(con, "IMAGES", "image001.jpg")

        ' Insert the OracleBFile object to the database.
        com.CommandText = "INSERT INTO BFileTable VALUES (1, :bfile)"
        com.Parameters.Add(New OracleParameter("bfile", bFile))
        com.ExecuteNonQuery()

        ' Retrieve data from the table.
        com.Parameters.Clear()
        com.CommandText = "SELECT * FROM BFileTable"
        Dim reader = com.ExecuteReader()

        While reader.Read()

            ' Get BFiles from the reader and print a part of their content.
            bFile = reader.GetOracleBFile(1)
            bFile.OpenFile()

            Dim buffer As Byte() = New Byte(100) {}
            bFile.Read(buffer, 0, 100)
            For Each bt As Byte In buffer
                Console.Write(bt &amp; " ")
            Next

            Console.WriteLine()

            bFile.Close()

        End While </code></example>
    </member>
    <member name="M:Devart.Data.Oracle.OracleBFile.#ctor()">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleBFile" /> class. </summary>
      <overloads>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleBFile" /> class. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleBFile.#ctor(Devart.Data.Oracle.OracleConnection)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleBFile" /> class with the specified <see cref="T:Devart.Data.Oracle.OracleConnection" />. </summary>
      <remarks>The connection must be opened explicitly by the application. <see cref="T:Devart.Data.Oracle.OracleBFile" /> object does not open the connection implicitly. </remarks>
      <param name="connection"><see cref="T:Devart.Data.Oracle.OracleConnection" /> to use. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleBFile.#ctor(Devart.Data.Oracle.OracleConnection,System.String,System.String)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleBFile" /> class with the specified <see cref="T:Devart.Data.Oracle.OracleConnection" />, name of the file and directory. </summary>
      <remarks>The connection must be opened explicitly by the application. <see cref="T:Devart.Data.Oracle.OracleBFile" /> object does not open the connection implicitly. </remarks>
      <param name="connection"><see cref="T:Devart.Data.Oracle.OracleConnection" /> to use. </param>
      <param name="directory">Name of the directory with which an <see cref="T:Devart.Data.Oracle.OracleBFile" /> object is associated. </param>
      <param name="fileName">The name of a physical file with which an <see cref="T:Devart.Data.Oracle.OracleBFile" /> object is associated. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleBFile.#ctor(System.String,System.String)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleBFile" /> class with the specified name of the file and directory. </summary>
      <param name="directory">Name of the directory with which an <see cref="T:Devart.Data.Oracle.OracleBFile" /> object is associated. </param>
      <param name="fileName">The name of a physical file with which an <see cref="T:Devart.Data.Oracle.OracleBFile" /> object is associated. </param>
    </member>
    <member name="P:Devart.Data.Oracle.OracleBFile.CanWrite">
      <summary>Always <see langword="false" /> because <see cref="T:Devart.Data.Oracle.OracleBFile" /> is read-only. </summary>
      <keywords>OracleBFile.CanWrite property </keywords>
      <value>Always <see langword="false" />. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleBFile.Clone()">
      <summary>Creates a copy of the current <see cref="T:Devart.Data.Oracle.OracleBFile" /> object associated with the same physical file as the original. </summary>
      <remarks>Creates a new <see cref="T:Devart.Data.Oracle.OracleBFile" /> object with the properties that have the same values as those of the original object. However, changing properties of the new object has no influence on the values of the same properties of the original object. </remarks>
      <keywords>OracleBFile.Clone method </keywords>
      <returns>A new <see cref="T:Devart.Data.Oracle.OracleBFile" /> object associated with the same physical file as the original. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleBFile.Close()">
      <summary>Closes the current stream and releases any resources associated with it. </summary>
      <remarks>After closing <see cref="T:Devart.Data.Oracle.OracleBFile" /> object call of any method of this object will throw an <see cref="T:System.ObjectDisposedException" />. </remarks>
      <keywords>OracleBFile.Close method </keywords>
    </member>
    <member name="M:Devart.Data.Oracle.OracleBFile.CloseFile()">
      <summary>Closes the physical file associated with the <see cref="T:Devart.Data.Oracle.OracleBFile" /> object opened before by <see cref="M:Devart.Data.Oracle.OracleBFile.OpenFile()" /> method. </summary>
      <remarks>Use <see cref="M:Devart.Data.Oracle.OracleBFile.CloseFile()" /> method to close the physical file associated with the <see cref="T:Devart.Data.Oracle.OracleBFile" /> object. </remarks>
      <keywords>OracleBFile.CloseFile method </keywords>
    </member>
    <member name="M:Devart.Data.Oracle.OracleBFile.CopyTo(Devart.Data.Oracle.OracleLob)">
      <summary>Copies data from the <see cref="T:Devart.Data.Oracle.OracleBFile" /> to an <see cref="T:Devart.Data.Oracle.OracleLob" />. </summary>
      <remarks>An <see cref="T:Devart.Data.Oracle.OracleLob" /> object to which the data is copied must have <see cref="T:Devart.Data.Oracle.OracleDbType" />.Blob type. </remarks>
      <seealso cref="T:Devart.Data.Oracle.OracleLob" />
      <keywords>OracleBFile.CopyTo method </keywords>
      <param name="dest">The <see cref="T:Devart.Data.Oracle.OracleLob" /> object to which the data is copied. </param>
      <returns>The number of bytes copied. </returns>
      <overloads>Copies data from the <see cref="T:Devart.Data.Oracle.OracleBFile" /> to a destination <see cref="T:Devart.Data.Oracle.OracleLob" />. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleBFile.CopyTo(Devart.Data.Oracle.OracleLob,System.Int64)">
      <summary>Copies data from the <see cref="T:Devart.Data.Oracle.OracleBFile" /> to an <see cref="T:Devart.Data.Oracle.OracleLob" /> with the specified destination offset. </summary>
      <remarks>An <see cref="T:Devart.Data.Oracle.OracleLob" /> object to which the data is copied must have <see cref="T:Devart.Data.Oracle.OracleDbType" />.Blob type. </remarks>
      <seealso cref="T:Devart.Data.Oracle.OracleLob" />
      <keywords>OracleBFile.CopyTo method </keywords>
      <param name="dest">The <see cref="T:Devart.Data.Oracle.OracleLob" /> object to which the data is copied. </param>
      <param name="destOffset">The offset to which to copy. </param>
      <returns>The number of bytes copied. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleBFile.CopyTo(System.Int64,Devart.Data.Oracle.OracleLob,System.Int64,System.Int64)">
      <summary>Copies data from the <see cref="T:Devart.Data.Oracle.OracleBFile" /> to an <see cref="T:Devart.Data.Oracle.OracleLob" /> with the specified amount of data, source offset and destination offset. </summary>
      <remarks>An <see cref="T:Devart.Data.Oracle.OracleLob" /> object to which the data is copied must have <see cref="T:Devart.Data.Oracle.OracleDbType" />.Blob type. </remarks>
      <seealso cref="T:Devart.Data.Oracle.OracleLob" />
      <keywords>OracleBFile.CopyTo method </keywords>
      <param name="srcOffset">The offset from which to copy. </param>
      <param name="dest">The <see cref="T:Devart.Data.Oracle.OracleLob" /> object to which the data is copied. </param>
      <param name="destOffset">The offset to which to copy. </param>
      <param name="amount">The quantity of data, in bytes, to copy. </param>
      <returns>The number of bytes copied. </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleBFile.DirectoryName">
      <summary>Gets the name of the directory with which an <see cref="T:Devart.Data.Oracle.OracleBFile" /> object is associated. </summary>
      <remarks>The maximum length of a <see cref="P:Devart.Data.Oracle.OracleBFile.DirectoryName" /> is 30 bytes. </remarks>
      <keywords>OracleBFile.DirectoryName property </keywords>
      <value>The name of the directory. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleBFile.FileExists">
      <summary>Gets a value indicating whether a physical file specified by the <see cref="P:Devart.Data.Oracle.OracleBFile.DirectoryName" /> and <see cref="P:Devart.Data.Oracle.OracleBFile.FileName" /> exists. </summary>
      <keywords>OracleBFile.FileExists property </keywords>
      <value><see langword="true" /> if a physical file containing <see cref="T:Devart.Data.Oracle.OracleDbType" />.BFile data exists; otherwise <see langword="false" />. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleBFile.FileName">
      <summary>Gets the name of a physical file with which an <see cref="T:Devart.Data.Oracle.OracleBFile" /> object is associated. </summary>
      <remarks>For <see cref="F:Devart.Data.Oracle.OracleBFile.Null" />, an empty string is returned. </remarks>
      <keywords>OracleBFile.FileName property </keywords>
      <value>The name of the BFILE without the path. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleBFile.IsOpen">
      <summary>Determines whether the physical file has been opened by calling <see cref="M:Devart.Data.Oracle.OracleBFile.OpenFile" /> method. </summary>
      <keywords>OracleBFile.IsOpen property </keywords>
      <value><see langword="true" /> if the <see cref="T:Devart.Data.Oracle.OracleBFile" /> is open; otherwise, <see langword="false" />. </value>
    </member>
    <member name="F:Devart.Data.Oracle.OracleBFile.Null">
      <summary>Represents a null <see cref="T:Devart.Data.Oracle.OracleBFile" /> object not associated with any physical file at the server. </summary>
      <remarks>The <see cref="F:Devart.Data.Oracle.OracleBFile.Null" /> field can be useful to check whether an <see cref="T:Devart.Data.Oracle.OracleBFile" /> object is associated with any physical file at the server.
<para>Any attempt to perform a read operation on a Null object succeeds, but does not return any data. Any attempt to perform a write operation on a Null object generates an exception.</para> </remarks>
      <keywords>OracleBFile.Null field </keywords>
    </member>
    <member name="M:Devart.Data.Oracle.OracleBFile.OpenFile()">
      <summary>Opens the file with which an <see cref="T:Devart.Data.Oracle.OracleBFile" /> object is associated. </summary>
      <remarks>Some operations on the <see cref="T:Devart.Data.Oracle.OracleBFile" /> object, such as <see cref="M:Devart.Data.Oracle.OracleBFile.Read" />, <see cref="M:Devart.Data.Oracle.OracleBFile.CopyTo" /> require that the file be opened using <see cref="M:Devart.Data.Oracle.OracleBFile.OpenFile" /> before the operation. </remarks>
      <keywords>OracleBFile.OpenFile method </keywords>
    </member>
    <member name="M:Devart.Data.Oracle.OracleBFile.Read(System.Byte[],System.Int32,System.Int32)">
      <summary>Reads a sequence of bytes from the current <see cref="T:Devart.Data.Oracle.OracleBFile" /> stream and advances the position within the stream by the number of bytes read. </summary>
      <remarks>The <see cref="M:Devart.Data.Oracle.OracleBFile.Read" /> method reads a maximum of <paramref name="count" /> bytes from the current stream and stores them in buffer beginning at <paramref name="offset" /> position. The current position within the stream is advanced by the number of bytes read. The <see cref="M:Devart.Data.Oracle.OracleBFile.Read" /> method returns 0 if the position is at the end of the stream. </remarks>
      <keywords>OracleBFile.Read method </keywords>
      <param name="buffer">The byte array buffer to be populated. </param>
      <param name="offset">The zero-based byte offset in the buffer. </param>
      <param name="count">The amount of bytes to read. </param>
      <returns>The total number of bytes read into the buffer. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleBFile.SetFileName(System.String,System.String)">
      <summary>Binds the <see cref="T:Devart.Data.Oracle.OracleBFile" /> object to a different file in the operating system. </summary>
      <remarks>To change name of the file or directory specified <see cref="T:Devart.Data.Oracle.OracleBFile" /> object must be within a transaction and must not be opened by <see cref="M:Devart.Data.Oracle.OracleBFile.OpenFile" /> method.
<para>If you change the name of the file or directory the current position resets to zero.</para> </remarks>
      <keywords>OracleBFile.SetFileName method </keywords>
      <param name="directory">The name of the directory that contains a physical file. </param>
      <param name="fileName">The name of the file in the operating system. </param>
    </member>
    <member name="T:Devart.Data.Oracle.OracleBinary">
      <summary>Represents a variable-length binary data to be stored in or retrieved from a database. </summary>
      <remarks>Corresponds to Oracle RAW and LONG RAW data types. To obtain an <see cref="T:Devart.Data.Oracle.OracleBinary" /> object call the <see cref="M:Devart.Data.Oracle.OracleDataReader.GetOracleBinary" /> method of the <see cref="T:Devart.Data.Oracle.OracleDataReader" /> class. </remarks>
    </member>
    <member name="M:Devart.Data.Oracle.OracleBinary.#ctor(System.Byte[])">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleBinary" /> structure, setting the <see cref="P:Devart.Data.Oracle.OracleBinary.Value" /> property to the provided array of bytes. </summary>
      <param name="value">The byte array to be stored in the <see cref="P:Devart.Data.Oracle.OracleBinary.Value" /> property. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleBinary.CompareTo(System.Object)">
      <summary>Compares the current <see cref="T:Devart.Data.Oracle.OracleBinary" /> object to the specified object and returns an integer that represents their relative values. </summary>
      <keywords>OracleBinary.CompareTo method </keywords>
      <param name="obj">The object to be compared. </param>
      <returns>A signed number indicating the relative values of the current <see cref="T:Devart.Data.Oracle.OracleBinary" /> structure and the object.
<list type="table">
  <listheader>
    <term>Return Value</term>
    <description>Condition</description>
  </listheader>
  <item>
    <term>Less than zero</term>
    <description>The value of the current <see cref="T:Devart.Data.Oracle.OracleBinary" /> object is less than the object.</description>
  </item>
  <item>
    <term>Zero</term>
    <description>The current <see cref="T:Devart.Data.Oracle.OracleBinary" /> object is the same to the object.</description>
   </item>
   <item>
     <term>Greater than zero</term>
     <description>The current <see cref="T:Devart.Data.Oracle.OracleBinary" /> object is greater than the object.</description>
   </item>
</list> </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleBinary.Concat(Devart.Data.Oracle.OracleBinary,Devart.Data.Oracle.OracleBinary)">
      <summary>Concatenates two <see cref="T:Devart.Data.Oracle.OracleBinary" /> structures. </summary>
      <remarks>If either argument has a null value, the returned <see cref="T:Devart.Data.Oracle.OracleBinary" /> structure has a null value. </remarks>
      <keywords>OracleBinary.Concat method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleBinary" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleBinary" />. </param>
      <returns>A new <see cref="T:Devart.Data.Oracle.OracleBinary" /> structure. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleBinary.Equals(Devart.Data.Oracle.OracleBinary,Devart.Data.Oracle.OracleBinary)">
      <summary>Determines whether two <see cref="T:Devart.Data.Oracle.OracleBinary" /> values are equal. </summary>
      <keywords>OracleBinary.Equals method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleBinary" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleBinary" />. </param>
      <returns><see langword="true" /> if two <see cref="T:Devart.Data.Oracle.OracleBinary" /> values are equal; otherwise, <see langword="false" />. </returns>
      <overloads>Compares two <see cref="T:Devart.Data.Oracle.OracleBinary" /> structures to determine if they are equal. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleBinary.Equals(System.Object)">
      <summary>Compares the specified object parameter to the <see cref="P:Devart.Data.Oracle.OracleBinary.Value" /> property of the <see cref="T:Devart.Data.Oracle.OracleBinary" /> object. </summary>
      <keywords>OracleBinary.Equals method </keywords>
      <param name="value">The object to be compared. </param>
      <returns><see langword="true" /> if object is an instance of the <see cref="T:Devart.Data.Oracle.OracleBinary" /> and has the same binary data; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleBinary.GetHashCode()">
      <summary>Returns a hash code for the <see cref="T:Devart.Data.Oracle.OracleBinary" /> structure. </summary>
      <keywords>OracleBinary.GetHashCode method </keywords>
      <returns>A 32-bit signed integer hash code. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleBinary.GreaterThan(Devart.Data.Oracle.OracleBinary,Devart.Data.Oracle.OracleBinary)">
      <summary>Determines whether the first of two <see cref="T:Devart.Data.Oracle.OracleBinary" /> values is greater than the second. </summary>
      <keywords>OracleBinary.GreaterThan method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleBinary" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleBinary" />. </param>
      <returns><see langword="true" /> if the first of two <see cref="T:Devart.Data.Oracle.OracleBinary" /> values is greater than the second; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleBinary.GreaterThanOrEqual(Devart.Data.Oracle.OracleBinary,Devart.Data.Oracle.OracleBinary)">
      <summary>Determines whether the first of two <see cref="T:Devart.Data.Oracle.OracleBinary" /> values is greater than or equal to the second. </summary>
      <keywords>OracleBinary.GreaterThanOrEqual method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleBinary" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleBinary" />. </param>
      <returns><see langword="true" /> if the first of two <see cref="T:Devart.Data.Oracle.OracleBinary" /> values is greater than or equal to the second; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleBinary.IsNull">
      <summary>Gets a value indicating whether the <see cref="P:Devart.Data.Oracle.OracleBinary.Value" /> property of the <see cref="T:Devart.Data.Oracle.OracleBinary" /> is <see cref="F:Devart.Data.Oracle.OracleBinary.Null" />. </summary>
      <keywords>OracleBinary.IsNull property </keywords>
      <value><see langword="true" /> if the <see cref="P:Devart.Data.Oracle.OracleBinary.Value" /> is <see cref="F:Devart.Data.Oracle.OracleBinary.Null" />; otherwise, <see langword="false" />. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleBinary.Item(System.Int32)">
      <summary>Gets the single byte in an <see cref="T:Devart.Data.Oracle.OracleBinary" /> at the specified index. </summary>
      <keywords>OracleBinary.Item property </keywords>
      <param name="index">The zero-based index. </param>
      <value>A byte at the specified index. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleBinary.Length">
      <summary>Gets the length of the binary data. </summary>
      <remarks>Check the <see cref="P:Devart.Data.Oracle.OracleBinary.IsNull" /> property before reading the <see cref="P:Devart.Data.Oracle.OracleBinary.Length" /> property to avoid raising an exception. </remarks>
      <keywords>OracleBinary.Length property </keywords>
      <value>The length of the binary data. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleBinary.LessThan(Devart.Data.Oracle.OracleBinary,Devart.Data.Oracle.OracleBinary)">
      <summary>Determines whether the first of two <see cref="T:Devart.Data.Oracle.OracleBinary" /> values is less than the second. </summary>
      <keywords>OracleBinary.LessThan method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleBinary" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleBinary" />. </param>
      <returns><see langword="true" /> if the first of two <see cref="T:Devart.Data.Oracle.OracleBinary" /> values is less than the second; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleBinary.LessThanOrEqual(Devart.Data.Oracle.OracleBinary,Devart.Data.Oracle.OracleBinary)">
      <summary>Determines whether the first of two <see cref="T:Devart.Data.Oracle.OracleBinary" /> values is less than or equal to the second. </summary>
      <keywords>OracleBinary.LessThanOrEqual method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleBinary" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleBinary" />. </param>
      <returns><see langword="true" /> if the first of two <see cref="T:Devart.Data.Oracle.OracleBinary" /> values is less than or equal to the second; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleBinary.NotEquals(Devart.Data.Oracle.OracleBinary,Devart.Data.Oracle.OracleBinary)">
      <summary>Determines whether two <see cref="T:Devart.Data.Oracle.OracleBinary" /> values are not equal. </summary>
      <keywords>OracleBinary.NotEquals method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleBinary" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleBinary" />. </param>
      <returns><see langword="true" /> if two <see cref="T:Devart.Data.Oracle.OracleBinary" /> values are not equal; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="F:Devart.Data.Oracle.OracleBinary.Null">
      <summary>Represents a null value that can be assigned to the <see cref="P:Devart.Data.Oracle.OracleBinary.Value" /> property of an <see cref="T:Devart.Data.Oracle.OracleBinary" /> structure. </summary>
      <keywords>OracleBinary.Null field </keywords>
    </member>
    <member name="M:Devart.Data.Oracle.OracleBinary.Parse(System.String)">
      <summary>Converts the specified <see cref="T:System.String" />  to its <see cref="T:Devart.Data.Oracle.OracleBinary" /> equivalent. </summary>
      <keywords>OracleBinary.Parse method </keywords>
      <param name="str">The <see cref="T:System.String" /> to be parsed. </param>
      <returns>An <see cref="T:Devart.Data.Oracle.OracleBinary" /> structure equal to the specified <see cref="T:System.String" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleBinary.ToString()">
      <summary>Converts the specified <see cref="T:Devart.Data.Oracle.OracleBinary" /> structure to a <see cref="T:System.String" />. </summary>
      <keywords>OracleBinary.ToString method </keywords>
    </member>
    <member name="P:Devart.Data.Oracle.OracleBinary.Value">
      <summary>Gets the value of the <see cref="T:Devart.Data.Oracle.OracleBinary" /> structure. </summary>
      <remarks>Check the <see cref="P:Devart.Data.Oracle.OracleBinary.IsNull" /> property before reading the <see cref="P:Devart.Data.Oracle.OracleBinary.Value" /> property to avoid raising an exception. </remarks>
      <keywords>OracleBinary.Value property </keywords>
      <value>The value of the <see cref="T:Devart.Data.Oracle.OracleBinary" /> structure. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleBinary.op_Addition(Devart.Data.Oracle.OracleBinary,Devart.Data.Oracle.OracleBinary)">
      <summary>Concatenates two <see cref="T:Devart.Data.Oracle.OracleBinary" /> values. </summary>
      <remarks>If either argument has a null value, the returned <see cref="T:Devart.Data.Oracle.OracleBinary" /> structure has a null value. </remarks>
      <keywords>OracleBinary.op_Addition method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleBinary" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleBinary" />. </param>
      <returns>A new <see cref="T:Devart.Data.Oracle.OracleBinary" /> object. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleBinary.op_Equality(Devart.Data.Oracle.OracleBinary,Devart.Data.Oracle.OracleBinary)">
      <summary>Compares two <see cref="T:Devart.Data.Oracle.OracleBinary" /> structures to determine if they are equal. </summary>
      <keywords>OracleBinary.op_Equality method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleBinary" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleBinary" />. </param>
      <returns><see langword="true" /> if two <see cref="T:Devart.Data.Oracle.OracleBinary" /> are equal; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleBinary.op_Explicit(Devart.Data.Oracle.OracleBinary)~System.Byte[]">
      <summary>Converts an <see cref="T:Devart.Data.Oracle.OracleBinary" /> value to a byte array. </summary>
      <keywords>OracleBinary.op_Explicit method </keywords>
      <param name="val">An <see cref="T:Devart.Data.Oracle.OracleBinary" /> object. </param>
      <returns>The byte array. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleBinary.op_GreaterThan(Devart.Data.Oracle.OracleBinary,Devart.Data.Oracle.OracleBinary)">
      <summary>Compares two <see cref="T:Devart.Data.Oracle.OracleBinary" /> structures to determine if the first is greater than the second. </summary>
      <keywords>OracleBinary.op_GreaterThan method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleBinary" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleBinary" />. </param>
      <returns><see langword="true" /> if the first of two <see cref="T:Devart.Data.Oracle.OracleBinary" /> values is greater than the second; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleBinary.op_GreaterThanOrEqual(Devart.Data.Oracle.OracleBinary,Devart.Data.Oracle.OracleBinary)">
      <summary>Compares two <see cref="T:Devart.Data.Oracle.OracleBinary" /> structures to determine if the first is greater than or equal to the second. </summary>
      <keywords>OracleBinary.op_GreaterThanOrEqual method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleBinary" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleBinary" />. </param>
      <returns><see langword="true" /> if the first of two <see cref="T:Devart.Data.Oracle.OracleBinary" /> values is greater than or equal to the second; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleBinary.op_Implicit(System.Byte[])~Devart.Data.Oracle.OracleBinary">
      <summary>Converts a byte array to an <see cref="T:Devart.Data.Oracle.OracleBinary" /> structure. </summary>
      <keywords>OracleBinary.op_Implicit method </keywords>
      <param name="bytes">A byte array. </param>
      <returns>The <see cref="T:Devart.Data.Oracle.OracleBinary" /> object. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleBinary.op_Inequality(Devart.Data.Oracle.OracleBinary,Devart.Data.Oracle.OracleBinary)">
      <summary>Compares two <see cref="T:Devart.Data.Oracle.OracleBinary" /> structures to determine if they are not equal. </summary>
      <keywords>OracleBinary.op_Inequality method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleBinary" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleBinary" />. </param>
      <returns><see langword="true" /> if two <see cref="T:Devart.Data.Oracle.OracleBinary" /> values are not equal; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleBinary.op_LessThan(Devart.Data.Oracle.OracleBinary,Devart.Data.Oracle.OracleBinary)">
      <summary>Compares two <see cref="T:Devart.Data.Oracle.OracleBinary" /> structures to determine if the first is less than the second. </summary>
      <keywords>OracleBinary.op_LessThan method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleBinary" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleBinary" />. </param>
      <returns><see langword="true" /> if the first of two <see cref="T:Devart.Data.Oracle.OracleBinary" /> values is less than the second; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleBinary.op_LessThanOrEqual(Devart.Data.Oracle.OracleBinary,Devart.Data.Oracle.OracleBinary)">
      <summary>Compares two <see cref="T:Devart.Data.Oracle.OracleBinary" /> structures to determine if the first is less than or equal to the second. </summary>
      <keywords>OracleBinary.op_LessThanOrEqual method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleBinary" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleBinary" />. </param>
      <returns><see langword="true" /> if the first of two <see cref="T:Devart.Data.Oracle.OracleBinary" /> values is less than or equal to the second; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="T:Devart.Data.Oracle.OracleClientFactory">
      <summary>Represents a factory required to create inheritors of generic base classes to use with dotConnect for Oracle. </summary>
      <remarks>Implemented for compatibility with Oracle Client provider. </remarks>
    </member>
    <member name="M:Devart.Data.Oracle.OracleClientFactory.#ctor()">
      <summary>Creates an instance of <see cref="T:Devart.Data.Oracle.OracleClientFactory" />. </summary>
      <remarks>Only one instance of <see cref="T:Devart.Data.Oracle.OracleClientFactory" /> can exist in the application. </remarks>
    </member>
    <member name="F:Devart.Data.Oracle.OracleClientFactory.Instance">
      <summary>Returns the instance of <see cref="T:Devart.Data.Oracle.OracleClientFactory" />. </summary>
      <keywords>OracleClientFactory.Instance field </keywords>
    </member>
    <member name="T:Devart.Data.Oracle.OracleCommand">
      <summary>Represents a SQL statement, PL/SQL statement, or stored procedure to execute against an Oracle database. </summary>
      <remarks>The <see cref="T:Devart.Data.Oracle.OracleCommand" /> class provides the following methods for executing commands against the Oracle database:
<list type="table"><listheader><term>Item</term><description>Description</description></listheader><item><term><see cref="M:Devart.Data.Oracle.OracleCommand.ExecuteReader" /></term><description>Executes commands that return rows.</description></item><item><term><see cref="M:Devart.Data.Oracle.OracleCommand.ExecutePageReader" /></term><description>Returns a specific subset of rows when paging through the results of a query.</description></item><item><term><see cref="M:Devart.Common.DbCommandBase.ExecuteNonQuery" /></term><description>Executes SQL commands such as INSERT, DELETE, UPDATE or PL/SQL block.</description></item><item><term><see cref="M:Devart.Common.DbCommandBase.ExecuteScalar" /></term><description>Retrieves a single value (for example, an aggregate value) from a database.</description></item>

  <item><term><see cref="M:Devart.Data.Oracle.OracleCommand.ExecuteArray" /></term><description>Executes SQL statement specified number of times.</description></item>

</list><para>If execution of the command results in a fatal <see cref="T:Devart.Data.Oracle.OracleException" />, the <see cref="T:Devart.Data.Oracle.OracleConnection" /> may close. However, the user can reopen the connection and continue.</para><para>This class supports cross-form data binding with the <a href="InterForm.html">InterForm Technology</a>.</para> </remarks>
      <example>The following example uses the <see cref="M:Devart.Data.Oracle.OracleCommand.ExecuteReader" /> method of <see cref="T:Devart.Data.Oracle.OracleCommand" />, along with <see cref="T:Devart.Data.Oracle.OracleDataReader" /> and <see cref="T:Devart.Data.Oracle.OracleConnection" />, to select rows from a table. <code lang="csharp">public void ReadMyData(string myConnString)
{
  string mySelectQuery = "SELECT * FROM Test.Dept";
  OracleConnection myConnection = new OracleConnection(myConnString);
  OracleCommand myCommand = new OracleCommand(mySelectQuery,myConnection);
  myConnection.Open();
  OracleDataReader myReader = myCommand.ExecuteReader();
  try
  {
    while (myReader.Read())
    {
      Console.WriteLine(myReader.GetInt32(0) + ", " + myReader.GetString(1));
    }
  }
  finally
  {
  // always call Close when done reading.
  myReader.Close();
  // always call Close when done reading.
  myConnection.Close();
  }
} </code><code lang="vb">Public Sub ReadMyData(myConnString As String)
  Dim mySelectQuery As String = "SELECT * FROM Test.Dept"
  Dim myConnection As New OracleConnection(myConnString)
  Dim myCommand As New OracleCommand(mySelectQuery, myConnection)
  myConnection.Open()
  Dim myReader As OracleDataReader = myCommand.ExecuteReader()
  Try
    While myReader.Read()
      Console.WriteLine(myReader.GetInt32(0).ToString() + ", " _
        + myReader.GetString(1))
    End While
  Finally
      ' always call Close when done reading.
      myReader.Close()
      ' always call Close when done with connection.
      myConnection.Close()
  End Try
End Sub </code></example>
      <seealso cref="T:Devart.Data.Oracle.OracleDataReader" />
      <seealso cref="T:Devart.Data.Oracle.OracleConnection" />
    </member>
    <member name="M:Devart.Data.Oracle.OracleCommand.#ctor()">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleCommand" /> class. </summary>
      <remarks>The base constructor initializes all fields to their default values. The following table shows initial property values for an instance of <see cref="T:Devart.Data.Oracle.OracleCommand" />.
<list type="table"><listheader><term>Properties</term><description>Initial value</description></listheader><item><term><see cref="P:Devart.Data.Oracle.OracleCommand.CommandText" /></term><description>empty string ("")</description></item><item><term><see cref="P:Devart.Common.DbCommand.CommandTimeout" /></term><description>30</description></item><item><term><see cref="P:Devart.Data.Oracle.OracleCommand.CommandType" /></term><description><see cref="T:System.Data.CommandType.Text" /></description></item><item><term><see cref="P:Devart.Data.Oracle.OracleCommand.Connection" /></term><description>null</description></item></list> </remarks>
      <overloads>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleCommand" /> class. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleCommand.#ctor(System.String)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleCommand" /> class with the text of the query. </summary>
      <remarks>The following table shows initial property values for an instance of <see cref="T:Devart.Data.Oracle.OracleCommand" />.
<list type="table"><listheader><term>Properties</term><description>Initial value</description></listheader><item><term><see cref="P:Devart.Data.Oracle.OracleCommand.CommandText" /></term><description><paramref name="commandText" /></description></item><item><term><see cref="P:Devart.Common.DbCommand.CommandTimeout" /></term><description>30</description></item><item><term><see cref="P:Devart.Data.Oracle.OracleCommand.CommandType" /></term><description><see cref="T:System.Data.CommandType.Text" /></description></item><item><term><see cref="P:Devart.Data.Oracle.OracleCommand.Connection" /></term><description>null</description></item></list> </remarks>
      <example>The following example creates a <see cref="T:Devart.Data.Oracle.OracleCommand" /> and sets some of its properties. <code lang="csharp">public void CreateOracleCommand()
{
  string mySelectQuery = "SELECT * FROM Test.Dept";
  OracleCommand myCommand = new OracleCommand(mySelectQuery);
  myCommand.FetchSize = 100;
} </code><code lang="vb">Public Sub CreateOracleCommand()
  Dim mySelectQuery As String = "SELECT * FROM Test.Dept"
  Dim myCommand As New OracleCommand(mySelectQuery)
  myCommand.FetchSize = 100
End Sub </code></example>
      <seealso cref="T:Devart.Data.Oracle.OracleDataReader" />
      <seealso cref="T:Devart.Data.Oracle.OracleConnection" />
      <param name="commandText">The text of the query. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleCommand.#ctor(System.String,Devart.Data.Oracle.OracleConnection)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleCommand" /> class with the text of the query and a <see ref="T:Devart.Data.Oracle.OracleConnection" /> object. </summary>
      <remarks>The following table shows initial property values for an instance of <see cref="T:Devart.Data.Oracle.OracleCommand" />.
<list type="table"><listheader><term>Properties</term><description>Initial value</description></listheader><item><term><see cref="P:Devart.Data.Oracle.OracleCommand.CommandText" /></term><description><paramref name="commandText" /></description></item><item><term><see cref="P:Devart.Common.DbCommand.CommandTimeout" /></term><description>30</description></item><item><term><see cref="P:Devart.Data.Oracle.OracleCommand.CommandType" /></term><description><see cref="T:System.Data.CommandType.Text" /></description></item><item><term><see cref="P:Devart.Data.Oracle.OracleCommand.Connection" /></term><description><paramref name="connection" /></description></item></list> </remarks>
      <example>The following example creates a <see cref="T:Devart.Data.Oracle.OracleCommand" /> and sets some of its properties. <code lang="csharp">public void CreateCommand()
{
  OracleConnection myConnection = new OracleConnection(
      "User Id=Scott;Password=tiger;Data Source=Ora");
  string mySelectQuery = "SELECT * FROM Test.Dept";
  OracleCommand myCommand = new OracleCommand(mySelectQuery, myConnection);
  myCommand.FetchSize = 100;
} </code><code lang="vb">Public Sub CreateCommand()
  Dim myConnection As New OracleConnection( _
    "User Id=Scott;Password=tiger;Data Source=Ora")
  Dim mySelectQuery As String = _
    "SELECT * FROM Test.Dept"
  Dim myCommand As New OracleCommand(mySelectQuery, myConnection)
  myCommand.FetchSize = 100
End Sub </code></example>
      <seealso cref="T:Devart.Data.Oracle.OracleDataReader" />
      <seealso cref="T:Devart.Data.Oracle.OracleConnection" />
      <param name="commandText">The text of the query. </param>
      <param name="connection">A <see cref="T:Devart.Data.Oracle.OracleConnection" /> object that represents the connection to Oracle. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleCommand.#ctor(System.String,Devart.Data.Oracle.OracleConnection,Devart.Data.Oracle.OracleTransaction)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleCommand" /> class with the text of the query, a <see ref="T:Devart.Data.Oracle.OracleConnection" /> object,  and the <see cref="T:Devart.Data.Oracle.OracleTransaction" />. </summary>
      <remarks>The following table shows initial property values for an instance of this implementation of the <see cref="T:Devart.Data.Oracle.OracleCommand" />.
<list type="table"><listheader><term>Properties</term><description>Initial value</description></listheader><item><term><see cref="P:Devart.Data.Oracle.OracleCommand.CommandText" /></term><description><paramref name="commandText" /></description></item><item><term><see cref="P:Devart.Common.DbCommand.CommandTimeout" /></term><description>30</description></item><item><term><see cref="P:Devart.Data.Oracle.OracleCommand.CommandType" /></term><description><see cref="T:System.Data.CommandType.Text" /></description></item><item><term><see cref="P:Devart.Data.Oracle.OracleCommand.Connection" /></term><description><paramref name="connection" /></description></item></list><para>You can change the value for any of these parameters by setting the related property.</para> </remarks>
      <example>The following example creates a <see cref="T:Devart.Data.Oracle.OracleCommand" /> and sets some of its properties. <code lang="csharp">public void CreateCommand()
{
  OracleConnection myConnection = new OracleConnection(
      "User Id=Scott;Password=tiger;Data Source=Ora");
  myConnection.Open();
  OracleTransaction myTrans = myConnection.BeginTransaction();
  string mySelectQuery = "SELECT * FROM Test.Dept";
  OracleCommand myCommand = new OracleCommand(mySelectQuery, myConnection,myTrans);
  myCommand.FetchSize = 100
} </code><code lang="vb">Public Sub CreateCommand()
  Dim myConnection As New OracleConnection( _
    "User Id=Scott;Password=tiger;Data Source=Ora")
  myConnection.Open()
  Dim myTrans As OracleTransaction = myConnection.BeginTransaction()
  Dim mySelectQuery As String = _
    "SELECT * FROM Test.Dept"
  Dim myCommand As New OracleCommand(mySelectQuery, myConnection, myTrans)
  myCommand.FetchSize = 100
End Sub </code></example>
      <seealso cref="T:Devart.Data.Oracle.OracleDataReader" />
      <seealso cref="T:Devart.Data.Oracle.OracleConnection" />
      <seealso cref="T:Devart.Data.Oracle.OracleTransaction" />
      <param name="commandText">The text of the query. </param>
      <param name="connection">A <see cref="T:Devart.Data.Oracle.OracleConnection" /> object that represents the connection to Oracle. </param>
      <param name="transaction">
        <see cref="T:Devart.Data.Oracle.OracleTransaction" /> object used to perform transactions with this <see cref="T:Devart.Data.Oracle.OracleCommand" /> object. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleCommand.#ctor(System.String,Devart.Data.Oracle.OracleTransaction)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleCommand" /> class with the text of the query, and the <see cref="T:Devart.Data.Oracle.OracleTransaction" /> object. </summary>
      <remarks>The following table shows initial property values for an instance of <see cref="T:Devart.Data.Oracle.OracleCommand" />.
<list type="table"><listheader><term>Properties</term><description>Initial value</description></listheader><item><term><see cref="P:Devart.Data.Oracle.OracleCommand.CommandText" /></term><description><paramref name="commandText" /></description></item><item><term><see cref="P:Devart.Common.DbCommand.CommandTimeout" /></term><description>30</description></item><item><term><see cref="P:Devart.Data.Oracle.OracleCommand.CommandType" /></term><description><see cref="T:System.Data.CommandType.Text" /></description></item><item><term><see cref="P:Devart.Data.Oracle.OracleCommand.Connection" /></term><description>null</description></item></list> </remarks>
      <param name="commandText">The text of the query. </param>
      <param name="transaction">
        <see cref="T:Devart.Data.Oracle.OracleTransaction" /> object used to perform transactions with this <see cref="T:Devart.Data.Oracle.OracleCommand" /> object. </param>
    </member>
    <member name="P:Devart.Data.Oracle.OracleCommand.Cached">
      <summary>Gets or sets a value indicating whether Oracle resources assosiated with the current statement will be cached inside a session. </summary>
      <remarks>OCI statement cache is enabled when you set Statement Cache Size in Connection String to a positive value. Set Statement Cache Size to 0 (default) if you don't want the statements to be cached. </remarks>
      <keywords>OracleCommand.Cached property </keywords>
      <value><see langword="true" /> if the statement is cached; otherwise, <see langword="false" />. Default value is <see langword="true" />. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleCommand.Cancel()">
      <summary>Stops execution of <see cref="T:Devart.Data.Oracle.OracleCommand" /> methods. </summary>
      <remarks><para>This thread-safe method allows you to stop query execution. To do this attach an OracleCommand object to connection that is used in operation to halt and invoke Cancel() method in another thread. This method returns without errors, while all stopped executions raise exception <i>"ORA-01013: user requested cancel of current operation"</i>.</para>
<para>For detailed information on how to stop asynchronous execution refer to article <a href="Asynchronous.html#cancel">Asynchronous Execution</a>.</para>
<para>This method is available for Oracle 
server 9 and newer.</para> </remarks>
      <keywords>OracleCommand.Cancel method </keywords>
    </member>
    <member name="M:Devart.Data.Oracle.OracleCommand.Clone()">
      <summary>Creates a new object that is a copy of the current <see cref="T:Devart.Data.Oracle.OracleCommand" /> instance. </summary>
      <remarks>Use this method when you need to create a new <see cref="T:Devart.Data.Oracle.OracleCommand" /> object that is absolutely like existing one. </remarks>
      <example>This example shows how to clone a <see cref="T:Devart.Data.Oracle.OracleCommand" /> . To make sure all the properties are inherited, one of them (CommandText) is written to the console. <code lang="csharp">public void CloneACommand()
{
  OracleCommand myCommand = new OracleCommand("SELECT * FROM Test.Dept");
  OracleCommand myCommand2 = (OracleCommand)myCommand.Clone();
  Console.WriteLine(myCommand2.CommandText);
} </code><code lang="vb">Public Sub CloneACommand()
  Dim myCommand As New OracleCommand("SELECT * FROM Test.Dept")
  Dim myCommand2 As OracleCommand = CType(myCommand.Clone(), OracleCommand)
  Console.WriteLine(myCommand2.CommandText)
End Sub </code></example>
      <keywords>OracleCommand.Clone method </keywords>
      <returns>A new <see cref="T:Devart.Data.Oracle.OracleCommand" /> object in which all property values are the same as the original. </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleCommand.CommandText">
      <summary>Gets or sets the SQL or PL/SQL statement or stored procedure to execute against the Oracle database. </summary>
      <remarks>
        <para>
Sense of <see cref="P:Devart.Data.Oracle.OracleCommand.CommandText" /> property depends on value of <see cref="P:Devart.Data.Oracle.OracleCommand.CommandType" /> property.</para>
        <para>
When <see cref="P:Devart.Data.Oracle.OracleCommand.CommandType" /> value is <see cref="T:System.Data.CommandType.Text" />, property <see cref="P:Devart.Data.Oracle.OracleCommand.CommandText" /> should contain text of a query that must be run on the server. 
</para>
        <para>
When the value is <see cref="T:System.Data.CommandType.StoredProcedure" />, property <see cref="P:Devart.Data.Oracle.OracleCommand.CommandText" />  must be a name of a procedure to execute. 
</para>
        <para>
When the value is set to <see cref="T:System.Data.CommandType.TableDirect" />, <see cref="P:Devart.Data.Oracle.OracleCommand.CommandText" /> must be name of a table you want to get all data from. All rows and columns are retrieved.
</para>
        <para /> </remarks>
      <example>The following example creates a <see cref="T:Devart.Data.Oracle.OracleCommand" /> and sets some of its properties. <code lang="csharp">public void CreateCommand()
{
  OracleCommand myCommand = new OracleCommand();
  myCommand.CommandText = "SELECT * FROM Test.Dept ORDER BY DeptNo";
} </code><code lang="vb">Public Sub CreateCommand()
  Dim myCommand As New OracleCommand()
  myCommand.CommandText = "SELECT * FROM Test.Dept ORDER BY DeptNo"
End Sub </code></example>
      <seealso cref="P:Devart.Data.Oracle.OracleCommand.Connection" />
      <seealso cref="P:Devart.Data.Oracle.OracleCommand.CommandType" />
      <seealso cref="P:Devart.Data.Oracle.OracleCommand.Parameters" />
      <keywords>OracleCommand.CommandText property </keywords>
      <value>The SQL statement or stored procedure to execute. The default value is an empty string ("").
<para>When working with overloaded stored procedures, use following syntax for executing specific overloaded routine: "StoredProcName:1" or "StoredProcName:5". First example executes first overloaded stored procedure, while second example executes fifth overloaded procedure. This notation affects only describing procedures in <see cref="P:Devart.Common.DbCommandBase.ParameterCheck" /> is <see langword="true" />.</para> </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleCommand.CommandTimeout">
      <summary>Gets or sets the wait time before terminating an attempt to execute a command and generating an error. </summary>
      <remarks>Zero value specifies that the wait time is unlimited. </remarks>
      <keywords>OracleCommand.CommandTimeout property </keywords>
      <value>The time (in seconds) to wait for the command to execute. The default value is 0. Not available under .NET Compact Framework. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleCommand.CommandType">
      <summary>Gets or sets a value indicating how the <see cref="P:Devart.Data.Oracle.OracleCommand.CommandText" /> property is to be interpreted. </summary>
      <remarks>
        <para>
          <see cref="P:Devart.Data.Oracle.OracleCommand.CommandType" /> can be one of the following values: 
<b>Text</b>, <b>StoredProcedure</b>, <b>TableDirect</b>.
</para>
        <para>
When the value is <i>CommandType.Text</i>, the property <see cref="P:Devart.Data.Oracle.OracleCommand.CommandText" /> should contain text of a query that must be run on the server.
</para>
        <para>
When the value is <i>CommandType.StoredProcedure</i>, <see cref="P:Devart.Data.Oracle.OracleCommand.CommandText" />  property must be a name of a procedure to execute. 
</para>
        <para>
When the value is set to <i>TableDirect</i>, <see cref="P:Devart.Data.Oracle.OracleCommand.CommandText" /> must be name of a table you want to get all data from. All rows and columns are retrieved.
</para>
        <para /> </remarks>
      <example>The following example creates an instance of a derived class <see cref="T:Devart.Data.Oracle.OracleCommand" /> and sets some of its properties. <code lang="csharp">public void CreateCommand()
{
  OracleCommand myCommand = new OracleCommand();
  myCommand.CommandText = "SELECT * FROM Test.Dept ORDER BY DeptNo";
  myCommand.CommandType = CommandType.Text;
} </code><code lang="vb">Public Sub CreateCommand()
  Dim myCommand As New OracleCommand()
  myCommand.CommandText = "SELECT * FROM Test.Dept ORDER BY DeptNo"
  myCommand.CommandType = CommandType.Text
End Sub </code></example>
      <seealso cref="P:Devart.Data.Oracle.OracleCommand.CommandText" />
      <keywords>OracleCommand.CommandType property </keywords>
      <value>One of the <see cref="T:System.Data.CommandType" /> values. The default value is <see cref="T:System.Data.CommandType.Text" />. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleCommand.Connection">
      <summary>Gets or sets the <see cref="T:Devart.Data.Oracle.OracleConnection" /> used by this instance of the <see cref="T:Devart.Data.Oracle.OracleCommand" />. </summary>
      <remarks>
        <para>
          <see cref="T:Devart.Data.Oracle.OracleConnection" /> specified in this property will carry out all operations executed with this <see cref="T:Devart.Data.Oracle.OracleCommand" />.</para>
        <para>This property supports the <a href="InterForm.html">InterForm</a> technology.</para> </remarks>
      <example>The following example creates a <see cref="T:Devart.Data.Oracle.OracleCommand" /> and sets some of its properties. <code lang="csharp">public void CreateCommand()
{
  string mySelectQuery = "SELECT * FROM Test.Dept ORDER BY DeptNo";
  OracleCommand myCommand = new OracleCommand(mySelectQuery);
  myCommand.Connection = new OracleConnection(
    "User Id=Scott;Password=tiger;Data Source=Ora");
  myCommand.CommandType = System.Data.CommandType.Text;
} </code><code lang="vb">Public Sub CreateCommand()
  Dim mySelectQuery As String = _
    "SELECT * FROM Test.Dept ORDER BY DeptNo"
  Dim myCommand As New OracleCommand(mySelectQuery)
  myCommand.Connection = New OracleConnection( _
    "User Id=Scott;Password=tiger;Data Source=Ora")
  myCommand.CommandType = System.Data.CommandType.Text
End Sub </code></example>
      <seealso cref="P:Devart.Data.Oracle.OracleCommand.CommandText" />
      <seealso cref="P:Devart.Data.Oracle.OracleCommand.CommandType" />
      <keywords>OracleCommand.Connection property </keywords>
      <value>The connection to a database. The default value is a null reference. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleCommand.CreateParameter()">
      <summary>Creates a new instance of a <see cref="T:Devart.Data.Oracle.OracleParameter" /> object. </summary>
      <remarks>This method is a strongly-typed version of <see cref="M:System.Data.IDbCommand.CreateParameter" />. See <see cref="T:Devart.Data.Oracle.OracleParameter" /> to find out more ways to create a parameter. </remarks>
      <example>This sample shows how to create a parameter using <see cref="M:Devart.Data.Oracle.OracleCommand.CreateParameter()" /> function. <code lang="csharp">Public void CreateParam(OracleConnection myConnection)
{
  OracleCommand myCommand = new OracleCommand("SELECT * FROM Test.Dept WHERE DeptNo=:Deptno",myConnection);
  OracleParameter myParam = myCommand.CreateParameter();
  myParam.OracleDbType = Devart.Data.Oracle.OracleDbType.Integer;
  myParam.Value = 10;
  myParam.ParameterName = "Deptno";
  myCommand.Parameters.Add(myParam);
  myConnection.Open();
  OracleDataReader myReader = null; 
  try
  {
    myReader = myCommand.ExecuteReader(); 
    while (myReader.Read())
    {
      Console.WriteLine(myReader.GetInt32(0) + ", " + myReader.GetString(1) + ", " + myReader.GetString(2));
    }
  }
  finally
  {
    myReader.Close();
    myConnection.Close();
  }
} </code><code lang="vb">Public Sub CreateParam(ByVal myConnection As OracleConnection)
  Dim myCommand As New OracleCommand("SELECT * FROM Test.Dept WHERE DeptNo=:Deptno", myConnection)
  Dim myParam As OracleParameter = myCommand.CreateParameter()
  myParam.OracleDbType = Devart.Data.Oracle.OracleDbType.Integer
  myParam.Value = 10
  myParam.ParameterName = "Deptno"
  myCommand.Parameters.Add(myParam)
  myConnection.Open()
  Dim myReader As OracleDataReader = Nothing
  Try
    myReader = myCommand.ExecuteReader()
    While myReader.Read()
      Console.WriteLine(myReader.GetInt32(0).ToString() + ", " _
        + myReader.GetString(1) + ", " _
        + myReader.GetString(2))
    End While
  Finally
    myReader.Close()
    myConnection.Close()
  End Try
End Sub </code></example>
      <seealso cref="P:Devart.Data.Oracle.OracleCommand.Parameters" />
      <seealso cref="T:Devart.Data.Oracle.OracleParameter" />
      <keywords>OracleCommand.CreateParameter method </keywords>
      <returns>A <see cref="T:Devart.Data.Oracle.OracleParameter" /> object. </returns>
      <overloads>Creates a new instance of a <see cref="T:Devart.Data.Oracle.OracleParameter" /> object. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleCommand.EndExecuteReader(System.IAsyncResult)">
      <summary>Ends an asynchronous invocation of the <see cref="M:Devart.Data.Oracle.OracleCommand.ExecuteReader" /> method. </summary>
      <remarks>The function ends an asynchronous execution of a query that is started with <see cref="M:Devart.Common.DbCommandBase.BeginExecuteReader" />. A pair of asynchronous functions (<see cref="M:Devart.Common.DbCommandBase.BeginExecuteReader" /> and <see cref="M:Devart.Data.Oracle.OracleCommand.EndExecuteReader" />) can be used instead of the synchronous function <see cref="M:Devart.Data.Oracle.OracleCommand.ExecuteReader" /> to gain more performance and flexibility in your application. 
<para>Refer to <a href="Asynchronous.html">"Asynchronous Query Execution"</a> article for detailed information.</para> </remarks>
      <example>In the example below an easiest way of executing an asynchronous operation is shown. First, all components are set up and a connection is opened. Second, a data retrieval operation is started. The operation state (done or in progress) is checked and a report is written to the console. At last query results are sent to <see cref="T:Devart.Data.Oracle.OracleDataReader" /> and rendered to the console. <code lang="csharp">Public void Async_Exec(OracleConnection myConnection)
{
  OracleCommand myCommand = new OracleCommand("SELECT * FROM Test.Dept",myConnection);
  Console.WriteLine("Starting asynchronous retrieval of data...");
  myConnection.Open();
  IAsyncResult cres = myCommand.BeginExecuteReader(null,null,CommandBehavior.Default);
  if (cres.IsCompleted)
    Console.WriteLine("Completed.");
  else
    Console.WriteLine("Have to wait for operation to complete...");
  OracleDataReader myReader = myCommand.EndExecuteReader(cres);
  try
  {
    while (myReader.Read())
    {
      Console.WriteLine(myReader.GetInt32(0) + " " + myReader.GetString(1) + " " + myReader.GetString(2));
    }
  }
  finally
  {
    myReader.Close();
    myConnection.Close();
  }
} </code><code lang="vb">Public Sub Async_Exec(ByVal myConnection As OracleConnection)
  Dim myCommand As New OracleCommand("SELECT * FROM Test.Dept", myConnection)
  Console.WriteLine("Starting asynchronous retrieval of data...")
  myConnection.Open()
  Dim cres As IAsyncResult = myCommand.BeginExecuteReader(Nothing, Nothing, CommandBehavior.Default)
  If cres.IsCompleted Then
    Console.WriteLine("Completed.")
  Else
    Console.WriteLine("Have to wait for operation to complete...")
  End If
  Dim myReader As OracleDataReader = myCommand.EndExecuteReader(cres)
  Try
    While myReader.Read()
      Console.WriteLine(String.Concat(myReader.GetInt32(0), " ", myReader.GetString(1), " ", myReader.GetString(2)))
    End While
  Finally
    myReader.Close()
    myConnection.Close()
  End Try
End Sub </code></example>
      <seealso cref="M:Devart.Common.DbCommandBase.BeginExecuteReader" />
      <seealso cref="M:Devart.Data.Oracle.OracleCommand.ExecuteReader" />
      <seealso cref="M:Devart.Common.DbCommandBase.EndExecuteNonQuery" />
      <keywords>OracleCommand.EndExecuteReader method </keywords>
      <param name="result">The <see cref="T:System.IAsyncResult" /> returned from <see cref="M:Devart.Common.DbCommandBase.BeginExecuteReader" />. </param>
      <returns>A <see cref="T:Devart.Data.Oracle.OracleDataReader" /> object. </returns>
      <overloads>Ends an asynchronous invocation of the <see cref="M:Devart.Data.Oracle.OracleCommand.ExecuteReader" /> method. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleCommand.ExecuteArray(System.Int32)">
      <summary>Executes SQL statement specified number of times. </summary>
      <remarks>The <see cref="M:Devart.Data.Oracle.OracleCommand.ExecuteArray" /> method allows to execute several SQL statements for the one time. The main advantage of using this method is that only one round trip to the server is used to execute several queries, which speeds up queries execution compared to consecutive invocation.
<para>All parameters of the query must have <see cref="T:System.Array" /> type and an elements of the array must have type corresponding to the type of the parameter. The value of the <paramref name="iters" /> parameter must be equal to the number of elements of the array.</para>
<para>Refer to <a href="ArrayBind.html">"Working with Array Binding"</a> article for detailed information and example.</para> </remarks>
      <keywords>OracleCommand.ExecuteArray method </keywords>
      <param name="iters">Number of times to execute SQL statement. </param>
      <returns>The return value is the number of rows affected by the statement. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleCommand.ExecuteCursor()">
      <summary>Executes the <see cref="P:Devart.Data.Oracle.OracleCommand.CommandText" /> and returns an <see cref="T:Devart.Data.Oracle.OracleCursor" /> object. </summary>
      <keywords>OracleCommand.ExecuteCursor method </keywords>
      <returns>An <see cref="T:Devart.Data.Oracle.OracleCursor" /> object. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleCommand.ExecuteNonQuery()">
      <summary>Executes SQL statement against the <see cref="T:Devart.Data.Oracle.OracleConnection" /> and returns the number of rows affected. </summary>
      <remarks><para>You can use <see cref="M:Devart.Data.Oracle.OracleCommand.ExecuteNonQuery" /> method to perform catalog operations (for example, querying the structure of a database or creating database objects such as tables); or to change the data in a database, without using a DataSet, by executing UPDATE, INSERT, or DELETE statements.</para>
<para>Although <see cref="M:Devart.Data.Oracle.OracleCommand.ExecuteNonQuery" /> does not return any rows, any output parameters or return values mapped to parameters are populated with data.</para> </remarks>
      <keywords>OracleCommand.ExecuteNonQuery method </keywords>
      <returns>For UPDATE, INSERT, and DELETE statements, the return value is the number of rows affected by the command. For all other types of statements, the return value is -1. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleCommand.ExecutePageReader(System.Data.CommandBehavior,System.Int32,System.Int32)">
      <summary>Returns a specific subset of rows when paging through the results of a query. </summary>
      <remarks>
        <para>Use method <see cref="M:Devart.Data.Oracle.OracleCommand.ExecutePageReader" /> when you want to retrieve not the whole dataset but some part of it that begins with given row number and has certain quantity of rows. This is especially useful when working with large amounts of data.</para>
        <para>If you want to retrieve all data in a dataset, use <see cref="M:Devart.Data.Oracle.OracleCommand.ExecuteReader()" /> instead.</para>
<para><see cref="M:Devart.Data.Oracle.OracleCommand.ExecutePageReader" /> method puts on following restrictions on the executable statement:</para>
<para>- you cannot execute stored procedures and PL/SQL blocks;</para>
<para>- you may specify only SQL statement that can be placed into the subquery.</para>
<para>To use <see cref="M:Devart.Data.Oracle.OracleCommand.ExecutePageReader" /> method it is recommended to optimize a query for retrieving a first row, otherwise using this method is ineffective.</para> </remarks>
      <example>The example below shows how to retrieve a part of a table. If this function is called with parameters <i>startRecord</i>=2 and <i>maxRecords</i>=3, it returns 3 rows: second, third, and fourth. <code lang="csharp">public void ExecutePaged(OracleConnection myConnection, int StartRow, int PageLength)
{
  OracleCommand myCommand = new OracleCommand("SELECT * FROM Test.Dept", myConnection);
  myConnection.Open();
  OracleDataReader myReader = myCommand.ExecutePageReader(System.Data.CommandBehavior.Default,StartRow,PageLength);
  try
  {
    while (myReader.Read())
    {
      Console.WriteLine(myReader.GetInt32(0) + ", " + myReader.GetString(1) + ", " + myReader.GetString(2));
    }
  }
  finally
  {
    myReader.Close();
    myConnection.Close();
  }
} </code><code lang="vb">Public Sub ExecutePaged(ByVal myConnection As OracleConnection, ByVal StartRow As Integer, ByVal PageLength As Integer)
  Dim myCommand As New OracleCommand("SELECT * FROM Test.Dept", myConnection)
  myConnection.Open()
  Dim myReader As OracleDataReader = myCommand.ExecutePageReader(System.Data.CommandBehavior.Default, StartRow, PageLength)
  Try
    While myReader.Read()
      Console.WriteLine(myReader.GetInt32(0).ToString() + ", " _
      + myReader.GetString(1) + ", " _
      + myReader.GetString(2))
    End While
  Finally
    myReader.Close()
    myConnection.Close()
  End Try
End Sub </code></example>
      <seealso cref="M:Devart.Data.Oracle.OracleCommand.ExecuteReader()" />
      <keywords>OracleCommand.ExecutePageReader method </keywords>
      <param name="behavior">One of the <see cref="T:System.Data.CommandBehavior" /> values. </param>
      <param name="startRecord"> </param>
      <param name="maxRecords"> </param>
      <returns>A <see cref="T:Devart.Data.Oracle.OracleDataReader" /> object. </returns>
      <overloads>Returns a specific subset of rows when paging through the results of a query. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleCommand.ExecuteReader()">
      <summary>Sends the <see cref="P:Devart.Data.Oracle.OracleCommand.CommandText" /> to the <see cref="P:Devart.Data.Oracle.OracleCommand.Connection" /> and builds a <see cref="T:Devart.Data.Oracle.OracleDataReader" />. </summary>
      <example>The following example creates a <see cref="T:Devart.Data.Oracle.OracleCommand" />, then executes it by passing a string that is SQL SELECT statement, and a string to use to connect to the database. <code lang="csharp">public void CreateOracleDataReader(string mySelectQuery,string myConnectionString)
{
  OracleConnection myConnection = new OracleConnection(myConnectionString);
  OracleCommand myCommand = new OracleCommand(mySelectQuery, myConnection);
  myCommand.Connection.Open();
  OracleDataReader myReader = myCommand.ExecuteReader();
  try
  {
    while(myReader.Read())
    {
      Console.WriteLine(myReader.GetString(0));
    }
  }
  finally
  {
    myReader.Close();
    myConnection.Close();
  }
} </code><code lang="vb">Public Sub CreateOracleDataReader(mySelectQuery As String, _
myConnectionString As String)
  Dim myConnection As New OracleConnection(myConnectionString)
  Dim myCommand As New OracleCommand(mySelectQuery, myConnection)
  myCommand.Connection.Open()
  Dim myReader As OracleDataReader = myCommand.ExecuteReader()
  Try
    While myReader.Read()
      Console.WriteLine(myReader.GetString(0))
    End While
  Finally
    myReader.Close()
    myConnection.Close()
  End Try
End Sub </code></example>
      <seealso cref="T:Devart.Data.Oracle.OracleDataReader" />
      <seealso cref="T:Devart.Data.Oracle.OracleConnection" />
      <keywords>OracleCommand.ExecuteReader method </keywords>
      <returns>A <see cref="T:Devart.Data.Oracle.OracleDataReader" /> object. </returns>
      <overloads>Sends the <see cref="P:Devart.Data.Oracle.OracleCommand.CommandText" /> to the <see cref="P:Devart.Data.Oracle.OracleCommand.Connection" /> and builds a <see cref="T:Devart.Data.Oracle.OracleDataReader" />. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleCommand.ExecuteReader(System.Data.CommandBehavior)">
      <summary>Sends the <see cref="P:Devart.Data.Oracle.OracleCommand.CommandText" /> to the <see cref="P:Devart.Data.Oracle.OracleCommand.Connection" />, and builds a <see cref="T:Devart.Data.Oracle.OracleDataReader" /> using one of the <see cref="T:System.Data.CommandBehavior" /> values. </summary>
      <remarks><para>The <see cref="T:Devart.Data.Oracle.OracleDataReader" /> supports a special mode that enables large binary values to be read efficiently. For more information, see the SequentialAccess setting for <see cref="T:System.Data.CommandBehavior" />.
</para> </remarks>
      <example>The following example creates a <see cref="T:Devart.Data.Oracle.OracleCommand" />, then executes it by passing a string that is SQL SELECT statement, and a string to use to connect to the database. The <see cref="T:System.Data.CommandBehavior" /> is then set to CloseConnection. <code lang="csharp">public void CreateOracleDataReader(string mySelectQuery,string myConnectionString)
{
  OracleConnection myConnection = new OracleConnection(myConnectionString);
  OracleCommand myCommand = new OracleCommand(mySelectQuery, myConnection);
  myCommand.Connection.Open();
  OracleDataReader myReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection);
  while(myReader.Read())
  {
    Console.WriteLine(myReader.GetString(0));
  }
  myReader.Close();
} </code><code lang="vb">Public Sub CreateOracleDataReader(mySelectQuery As String, _
myConnectionString As String)
  Dim myConnection As New OracleConnection(myConnectionString)
  Dim myCommand As New OracleCommand(mySelectQuery, myConnection)
  myCommand.Connection.Open()
  Dim myReader As OracleDataReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection)
  While myReader.Read()
    Console.WriteLine(myReader.GetString(0))
  End While
  myReader.Close()
End Sub </code></example>
      <seealso cref="T:Devart.Data.Oracle.OracleDataReader" />
      <seealso cref="T:Devart.Data.Oracle.OracleConnection" />
      <keywords>OracleCommand.ExecuteReader method </keywords>
      <param name="behavior">One of the <see cref="T:System.Data.CommandBehavior" /> values. </param>
      <returns>A <see cref="T:Devart.Data.Oracle.OracleDataReader" /> object. </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleCommand.FetchSize">
      <summary>Gets or sets the number of rows that will be transferred across the network at a time. </summary>
      <remarks>If 0 value is assigned, a value of this parameter will be determined automatically and it will be changed dynamically when executing read operations. If you do not want to have a specific number of rows be fetched at a time, it is better to keep this default value. </remarks>
      <keywords>OracleCommand.FetchSize property </keywords>
      <value>The number of rows that will be transferred across the network at the same time. The default value is 0. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleCommand.GetRowId()">
      <summary>Returns Oracle ROWID string that represents physical location of the row inside the table. </summary>
      <remarks>You can use this method to obtain ROWID and use it within UPDATE SQL statement or other SQL constructions. It is available only if you have issued <see cref="M:Devart.Common.DbCommand.Prepare" /> method before calling one of <b>Execute</b> methods. </remarks>
      <keywords>OracleCommand.GetRowId method </keywords>
      <returns>ROWID string in Base64 format string. </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleCommand.Notification">
      <summary>Gets <see cref="T:Devart.Data.Oracle.OracleNotificationRequest" /> assigned by <see cref="T:Devart.Data.Oracle.OracleDependency" />. </summary>
      <remarks>You can modify the properties of associated <see cref="T:Devart.Data.Oracle.OracleNotificationRequest" />  object after the command has been attached but before the listener is started, as all <see cref="T:Devart.Data.Oracle.OracleNotificationRequest" />  objects bound to same <see cref="T:Devart.Data.Oracle.OracleDependency" /> use same property values. </remarks>
      <seealso cref="T:Devart.Data.Oracle.OracleDependency" />
      <seealso cref="T:Devart.Data.Oracle.OracleNotificationRequest" />
      <keywords>OracleCommand.Notification property </keywords>
      <value>An <see cref="T:Devart.Data.Oracle.OracleNotificationRequest" /> object. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleCommand.Parameters">
      <summary>Gets or sets the <see cref="T:Devart.Data.Oracle.OracleParameterCollection" />. </summary>
      <remarks>By default, you have to construct this collection and provide values for it manually. However, if you choose to use autosynchronization mode by setting <see cref="P:Devart.Common.DbCommandBase.ParameterCheck" /> property to <see langword="true" /> you can have the collecton adjusted automatically. Please refer to article <a href="Parameters.html">Using Parameters in dotConnect for Oracle</a> for detailed information on using this mode. </remarks>
      <example>The following example creates a <see cref="T:Devart.Data.Oracle.OracleConnection" />,  <see cref="T:Devart.Data.Oracle.OracleCommand" />, fills its parameters and displays them. An UPDATE statement with the parameters involved is executed then. <code lang="csharp">static void CreateCommand(OracleConnection myConnection, string mySelectQuery, OracleParameter[] myParamArray)
{
  OracleCommand myCommand = new OracleCommand(mySelectQuery, myConnection);
  string myMessage = "";
  for (int i = 0; i &lt; myParamArray.Length; i++)
  {
    myCommand.Parameters.Add(myParamArray[i]);
    myMessage += myCommand.Parameters[i].ToString() + "\n";
  }
  Console.Write(myMessage);
  try
  {
    myConnection.Open();
    myCommand.ExecuteNonQuery();
  }
  finally
  {
    myConnection.Close();
  }
}

static void Main(string[] args)
{
  OracleParameter[] myParams = new OracleParameter[] 
    {
      new OracleParameter("DeptNo", 10),
      new OracleParameter("DName", "COUNTING")
    };
  OracleConnection myConnection1 = new OracleConnection(
      "User Id=Scott;Password=tiger;Data Source=Ora");
  CreateCommand(myConnection1,"UPDATE Test.Dept SET DName = :DName WHERE DeptNo = :DeptNo",myParams);
} </code><code lang="vb">Public Sub CreateCommand(ByVal myConnection As Devart.Data.Oracle.OracleConnection, _
 ByVal mySelectQuery As String, ByVal myParamArray() As Devart.Data.Oracle.OracleParameter)
  Dim myCommand As New Devart.Data.Oracle.OracleCommand(mySelectQuery, myConnection)
  Dim myMessage As String = ""
  Dim i As Integer
  For i = 0 To (myParamArray.Length - 1)
    myCommand.Parameters.Add(myParamArray(i))
    myMessage = String.Concat(myMessage, " ", myCommand.Parameters(i).ToString())
  Next
  Console.WriteLine(myMessage)
  Try
    myConnection.Open()
    myCommand.ExecuteNonQuery()
  Finally
    myConnection.Close()
  End Try
End Sub

Sub Main()
  Dim myP1 As New Devart.Data.Oracle.OracleParameter
  myP1.ParameterName = "DeptNo"
  myP1.Value = 10
  Dim myP2 As New Devart.Data.Oracle.OracleParameter
  myP2.ParameterName = "DName"
  myP2.Value = "ACCOUNTING"
  Dim myParams(1) As Devart.Data.Oracle.OracleParameter
  myParams(0) = myP1
  myParams(1) = myP2
  Dim myConnection1 As New Devart.Data.Oracle.OracleConnection( _
      "User Id=Scott;Password=tiger;Data Source=Ora")
  CreateCommand(myConnection1, "UPDATE Test.Dept SET DName = :DName WHERE DeptNo = :DeptNo", myParams)
End Sub </code></example>
      <seealso cref="T:Devart.Data.Oracle.OracleParameter" />
      <seealso cref="P:Devart.Data.Oracle.OracleCommand.CommandText" />
      <keywords>OracleCommand.Parameters property </keywords>
      <value>The parameters of a SQL statement or a stored procedure. The default value is an empty collection. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleCommand.PassParametersByName">
      <summary>Gets or sets a value indicating whether stored procedure parameters are passed anonimously or with the names specified. </summary>
      <remarks><para>With this property set to false, a procedure will be called like "Proc(:param1, :param2)" or "Proc(:param2, :param1)" subject to parameters order. If true, the statement will be like "Proc(param2 =&gt; :param2, param1 =&gt; :param1)", thus result will be the same regardless of parameters order.</para>
<para>This property can be used with any value of the ParameterCheck property. Ignored if CommandType is other than CommandType.StoredProcedure.</para> </remarks>
      <keywords>OracleCommand.PassParametersByName property </keywords>
      <value><see langword="true" /> if parameter names are specified in the procedure invocation; otherwise, <see langword="false" />. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleCommand.ResetCommandTimeout()">
      <summary>Resets <see cref="P:Devart.Data.Oracle.OracleCommand.CommandTimeout" /> to its default value. </summary>
      <keywords>OracleCommand.ResetCommandTimeout method </keywords>
    </member>
    <member name="P:Devart.Data.Oracle.OracleCommand.Transaction">
      <summary>Gets the <see cref="T:Devart.Data.Oracle.OracleTransaction" /> in which the <see cref="T:Devart.Data.Oracle.OracleCommand" /> executes. </summary>
      <keywords>OracleCommand.Transaction property </keywords>
      <value>An <see cref="T:Devart.Data.Oracle.OracleTransaction" />. The default value is a null reference. </value>
    </member>
    <member name="T:Devart.Data.Oracle.OracleCommandBuilder">
      <summary>Automatically generates single-table commands used to reconcile changes made to a <see cref="T:System.Data.DataSet" /> with the associated Oracle database. </summary>
      <remarks>The <see cref="T:Devart.Data.Oracle.OracleDataAdapter" /> does not automatically generate the SQL statements required to reconcile changes made to a <see cref="T:System.Data.DataSet" /> associated with the Oracle database. However, you can create a <see cref="T:Devart.Data.Oracle.OracleCommandBuilder" /> object that generates SQL statements for single-table updates. After assigning the <see cref="T:Devart.Data.Oracle.OracleDataAdapter" /> to the <see cref="T:Devart.Data.Oracle.OracleCommandBuilder" />, it begins to generate any additional SQL statements that you do not set.
<para>The relationship between a <see cref="T:Devart.Data.Oracle.OracleDataAdapter" /> and its corresponding <see cref="T:Devart.Data.Oracle.OracleCommandBuilder" /> is always one-to-one. To create this correspondence, you set the <see cref="P:Devart.Data.Oracle.OracleCommandBuilder.DataAdapter" /> property of the <see cref="T:Devart.Data.Oracle.OracleCommandBuilder" /> object. This causes the <see cref="T:Devart.Data.Oracle.OracleCommandBuilder" /> to register itself as a listener, which produces the output of <see cref="E:Devart.Data.Oracle.OracleDataAdapter.RowUpdating" /> events that affect the <see cref="T:System.Data.DataSet" />.</para><para>To generate INSERT, UPDATE, or DELETE statements, the <see cref="T:Devart.Data.Oracle.OracleCommandBuilder" /> uses the <see cref="P:Devart.Data.Oracle.OracleDataAdapter.SelectCommand" /> property to retrieve a required set of metadata. If you change the value of <see cref="P:Devart.Data.Oracle.OracleDataAdapter.SelectCommand" /> after the metadata has been retrieved (for example, after the first update), you then should call the <see cref="M:Devart.Common.DbCommandBuilderBase.RefreshSchema" /> method to update the metadata.</para><para>The <see cref="T:Devart.Data.Oracle.OracleCommandBuilder" /> also uses the <see cref="P:Devart.Data.Oracle.OracleCommand.Connection" />, <see cref="P:Devart.Common.DbCommandBase.CommandTimeout" />, and <see cref="P:Devart.Common.DbCommand.Transaction" /> properties referenced by the <see cref="P:Devart.Data.Oracle.OracleDataAdapter.SelectCommand" />. The user should call <see cref="M:Devart.Common.DbCommandBuilderBase.RefreshSchema" /> if any of these properties are modified, or value of the <see cref="P:Devart.Data.Oracle.OracleDataAdapter.SelectCommand" /> property itself is changed. Otherwise the <see cref="P:Devart.Data.Oracle.OracleDataAdapter.InsertCommand" />, <see cref="P:Devart.Data.Oracle.OracleDataAdapter.UpdateCommand" />, and <see cref="P:Devart.Data.Oracle.OracleDataAdapter.DeleteCommand" /> properties retain their previous values.</para><para>If you assign null to corresponding property of <see cref="T:Devart.Data.Oracle.OracleDataAdapter" />, the <see cref="T:Devart.Data.Oracle.OracleCommandBuilder" /> will be disassociated from the <see cref="T:Devart.Data.Oracle.OracleDataAdapter" />, and the generated commands will no longer be used.</para> </remarks>
      <example>The following example uses <see cref="T:Devart.Data.Oracle.OracleCommand" />, along with <see cref="T:Devart.Data.Oracle.OracleDataAdapter" /> and <see cref="T:Devart.Data.Oracle.OracleConnection" />, to select rows from an Oracle database. The example is passed an initialized <see cref="T:System.Data.DataSet" />, a connection string, a query string that is SQL SELECT statement, and a string that is the name of the Oracle table. The example then creates a <see cref="T:Devart.Data.Oracle.OracleCommandBuilder" />. <code lang="csharp">public DataSet SelectOracleSrvRows(DataSet myDataSet,string myConnection,string mySelectQuery,string myTableName)
{
  OracleConnection myConn = new OracleConnection(myConnection);
  OracleDataAdapter myDataAdapter = new OracleDataAdapter();
  myDataAdapter.SelectCommand = new OracleCommand(mySelectQuery, myConn);
  OracleCommandBuilder myCommandBuilder = new OracleCommandBuilder(myDataAdapter);

  myConn.Open();

  DataSet myDataSet = new DataSet();
  myDataAdapter.Fill(myDataSet, "Departments");

  //code to modify data in dataset here

  //Without the OracleCommandBuilder this line would fail
  myDataAdapter.Update(myDataSet, "Departments");

  myConn.Close();

  return myDataSet;
} </code><code lang="vb">Public Function SelectOracleSrvRows(myDataSet As DataSet, myConnection As String, mySelectQuery As String, myTableName As String) As DataSet
  Dim myConn As New OracleConnection(myConnection)
  Dim myDataAdapter As New OracleDataAdapter()
  myDataAdapter.SelectCommand = New OracleCommand(mySelectQuery, myConn)
  Dim myCommandBuilder As OracleCommandBuilder = New OracleCommandBuilder(myDataAdapter)

  myConn.Open()

  Dim myDataSet As DataSet = New DataSet
  myDataAdapter.Fill(myDataSet, "Departments")

  ' Code to modify data in DataSet here

  ' Without the OracleCommandBuilder this line would fail.
  myDataAdapter.Update(myDataSet, "Departments")

  myConn.Close()

  SelectOracleSrvRows = myDataSet
End Function </code></example>
      <seealso cref="T:Devart.Data.Oracle.OracleDataAdapter" />
      <seealso cref="T:Devart.Data.Oracle.OracleConnection" />
      <seealso cref="T:Devart.Data.Oracle.OracleCommand" />
    </member>
    <member name="M:Devart.Data.Oracle.OracleCommandBuilder.#ctor()">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleCommandBuilder" /> class. </summary>
      <remarks>The base constructor initializes all fields to their default values. </remarks>
      <overloads>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleCommandBuilder" /> class. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleCommandBuilder.#ctor(Devart.Data.Oracle.OracleDataAdapter)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleCommandBuilder" /> class with the associated <see cref="T:Devart.Data.Oracle.OracleDataAdapter" /> object. </summary>
      <remarks>The <see cref="T:Devart.Data.Oracle.OracleCommandBuilder" /> registers itself as a listener for <see cref="E:Devart.Data.Oracle.OracleDataAdapter.RowUpdating" /> events that are generated by the <see cref="T:Devart.Data.Oracle.OracleDataAdapter" /> specified in this property.
<para>When you create a new instance of <see cref="T:Devart.Data.Oracle.OracleCommandBuilder" />, any existing <see cref="T:Devart.Data.Oracle.OracleCommandBuilder" /> associated with this <see cref="T:Devart.Data.Oracle.OracleDataAdapter" /> is released.</para> </remarks>
      <param name="adapter"> </param>
    </member>
    <member name="P:Devart.Data.Oracle.OracleCommandBuilder.CatalogSeparator">
      <summary>Gets or sets separator string to be used when referencing a schema. </summary>
      <remarks>When <see cref="T:Devart.Data.Oracle.OracleCommandBuilder" /> builds a query, <see cref="P:Devart.Data.Oracle.OracleCommandBuilder.CatalogSeparator" /> is placed between catalog name and schema name if necessary. </remarks>
      <keywords>OracleCommandBuilder.CatalogSeparator property </keywords>
      <value>Separator between catalog and schema. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleCommandBuilder.DataAdapter">
      <summary>Gets or sets a <see cref="T:Devart.Data.Oracle.OracleDataAdapter" /> object for which this <see cref="T:Devart.Data.Oracle.OracleCommandBuilder" /> object will generate SQL statements. </summary>
      <remarks>The <see cref="T:Devart.Data.Oracle.OracleCommandBuilder" /> registers itself as a listener for <see cref="E:Devart.Data.Oracle.OracleDataAdapter.RowUpdating" /> events that are generated by the <see cref="T:Devart.Data.Oracle.OracleDataAdapter" /> specified in this property.
<para>When you create a new instance of <see cref="T:Devart.Data.Oracle.OracleCommandBuilder" />, any existing <see cref="T:Devart.Data.Oracle.OracleCommandBuilder" /> associated with this <see cref="T:Devart.Data.Oracle.OracleDataAdapter" /> is released.</para> </remarks>
      <keywords>OracleCommandBuilder.DataAdapter property </keywords>
      <value>A <see cref="T:Devart.Data.Oracle.OracleDataAdapter" /> object that is associated with this <see cref="T:Devart.Data.Oracle.OracleCommandBuilder" />. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleCommandBuilder.DeriveParameters(Devart.Data.Oracle.OracleCommand)">
      <summary>Populates the specified <see cref="T:Devart.Data.Oracle.OracleCommand" /> object's <see cref="P:Devart.Data.Oracle.OracleCommand.Parameters" /> collection with parameter information for the SQL statement specified in the <see cref="P:Devart.Data.Oracle.OracleCommand.CommandText" />. </summary>
      <remarks>
        <see cref="M:Devart.Data.Oracle.OracleCommandBuilder.DeriveParameters" /> overwrites any existing parameter information for the <see cref="T:Devart.Data.Oracle.OracleCommand" />.
<para><see cref="M:Devart.Data.Oracle.OracleCommandBuilder.DeriveParameters" /> requires an extra call to the data server to obtain the information. If the parameter information is known in advance, it is more efficient to populate the parameters collection by setting the information explicitly.</para>
<para>For more information, see "Using Stored Procedures with a Command" in the Microsoft .NET Framework SDK documentation.</para> </remarks>
      <keywords>OracleCommandBuilder.DeriveParameters method </keywords>
      <param name="command">The <see cref="T:Devart.Data.Oracle.OracleCommand" /> referencing the SQL statement for which the parameter information is to be derived. The derived parameters will be populated into the <see cref="P:Devart.Data.Oracle.OracleCommand.Parameters" /> collection of this command. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleCommandBuilder.GetDeleteCommand()">
      <summary>Gets the automatically generated SQL statement required to perform deletions on the database when an application calls <see cref="M:System.Data.Common.DbDataAdapter.Update()" /> on the <see cref="T:Devart.Data.Oracle.OracleDataAdapter" />. </summary>
      <remarks>You can use the <see cref="M:Devart.Data.Oracle.OracleCommandBuilder.GetDeleteCommand" /> method for informational or troubleshooting purposes because it returns the <see cref="T:Devart.Data.Oracle.OracleCommand" /> object to be executed.
<para>You can also use <see cref="M:Devart.Data.Oracle.OracleCommandBuilder.GetDeleteCommand" /> as the basis of a modified command. For example, you might call <see cref="M:Devart.Data.Oracle.OracleCommandBuilder.GetDeleteCommand" /> and modify the <see cref="P:Devart.Common.DbCommandBase.CommandTimeout" /> value, and then explicitly set that on the <see cref="T:Devart.Data.Oracle.OracleDataAdapter" />.</para><para>After the SQL statement is first generated, you must explicitly call <see cref="M:Devart.Common.DbCommandBuilderBase.RefreshSchema" /> if it changes the statement in any way. Otherwise, the <see cref="M:Devart.Data.Oracle.OracleCommandBuilder.GetDeleteCommand" /> still will be using information from the previous statement, which might not be correct. The SQL statements are first generated when the application calls either <see cref="M:System.Data.Common.DbDataAdapter.Update(System.Data.DataSet)" /> or <see cref="M:Devart.Data.Oracle.OracleCommandBuilder.GetDeleteCommand" />.</para> </remarks>
      <keywords>OracleCommandBuilder.GetDeleteCommand method </keywords>
      <returns>The text of the SQL statement to be executed. </returns>
      <overloads>Gets the automatically generated SQL statement required to perform deletions on the database. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleCommandBuilder.GetDeleteCommand(System.Boolean)">
      <summary>Gets the automatically generated SQL statement required to perform deletions on the database when an application calls <see cref="M:System.Data.Common.DbDataAdapter.Update()" /> on the <see cref="T:Devart.Data.Oracle.OracleDataAdapter" />. </summary>
      <remarks>You can use the <see cref="M:Devart.Data.Oracle.OracleCommandBuilder.GetDeleteCommand" /> method for informational or troubleshooting purposes because it returns the <see cref="T:Devart.Data.Oracle.OracleCommand" /> object to be executed.
<para>You can also use <see cref="M:Devart.Data.Oracle.OracleCommandBuilder.GetDeleteCommand" /> as the basis of a modified command. For example, you might call <see cref="M:Devart.Data.Oracle.OracleCommandBuilder.GetDeleteCommand" /> and modify the <see cref="P:Devart.Common.DbCommandBase.CommandTimeout" /> value, and then explicitly set that on the <see cref="T:Devart.Data.Oracle.OracleDataAdapter" />.</para><para>After the SQL statement is first generated, you must explicitly call <see cref="M:Devart.Common.DbCommandBuilderBase.RefreshSchema" /> if it changes the statement in any way. Otherwise, the <see cref="M:Devart.Data.Oracle.OracleCommandBuilder.GetDeleteCommand" /> still will be using information from the previous statement, which might not be correct. The SQL statements are first generated when the application calls either <see cref="M:System.Data.Common.DbDataAdapter.Update(System.Data.DataSet)" /> or <see cref="M:Devart.Data.Oracle.OracleCommandBuilder.GetDeleteCommand" />.</para><para><paramref name="useColumnsForParameterNames" /> argument determines whether names of parameters in command text will be like ":p1", ":p2" (if false), or names of columns will be used (if true), like ":mycolumn1", ":myothercolumn".</para> </remarks>
      <keywords>OracleCommandBuilder.GetDeleteCommand method </keywords>
      <param name="useColumnsForParameterNames">Determines whether names of parameters in command text will be based on columns' names. </param>
      <returns>The text of the SQL statement to be executed. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleCommandBuilder.GetInsertCommand()">
      <summary>Gets the automatically generated SQL statement required to perform inserts on the database when an application calls <see cref="M:System.Data.Common.DbDataAdapter.Update()" /> on the <see cref="T:Devart.Data.Oracle.OracleDataAdapter" />. </summary>
      <remarks>You can use the <see cref="M:Devart.Data.Oracle.OracleCommandBuilder.GetInsertCommand()" /> method for informational or troubleshooting purposes because it returns the <see cref="T:Devart.Data.Oracle.OracleCommand" /> object to be executed.
<para>You can also use <see cref="M:Devart.Data.Oracle.OracleCommandBuilder.GetInsertCommand()" /> as the basis of a modified command. For example, you might call <see cref="M:Devart.Data.Oracle.OracleCommandBuilder.GetInsertCommand()" /> and modify the <see cref="P:Devart.Common.DbCommandBase.CommandTimeout" /> value, and then explicitly set that on the <see cref="T:Devart.Data.Oracle.OracleDataAdapter" />.</para><para>After the SQL statement is first generated, you must explicitly call <see cref="M:Devart.Common.DbCommandBuilderBase.RefreshSchema()" /> if it changes the statement in any way. Otherwise, the <see cref="M:Devart.Data.Oracle.OracleCommandBuilder.GetInsertCommand()" /> still will be using information from the previous statement, which might not be correct. The SQL statements are first generated when the application calls either <see cref="M:System.Data.Common.DbDataAdapter.Update()" /> or <see cref="M:Devart.Data.Oracle.OracleCommandBuilder.GetInsertCommand()" />.</para> </remarks>
      <keywords>OracleCommandBuilder.GetInsertCommand method </keywords>
      <returns>The text of the SQL statement to be executed. </returns>
      <overloads>Gets the automatically generated SQL statement required to perform inserts on the database. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleCommandBuilder.GetInsertCommand(System.Boolean)">
      <summary>Gets the automatically generated SQL statement required to perform inserts on the database when an application calls <see cref="M:System.Data.Common.DbDataAdapter.Update()" /> on the <see cref="T:Devart.Data.Oracle.OracleDataAdapter" />. </summary>
      <remarks>You can use the <see cref="M:Devart.Data.Oracle.OracleCommandBuilder.GetInsertCommand()" /> method for informational or troubleshooting purposes because it returns the <see cref="T:Devart.Data.Oracle.OracleCommand" /> object to be executed.
<para>You can also use <see cref="M:Devart.Data.Oracle.OracleCommandBuilder.GetInsertCommand()" /> as the basis of a modified command. For example, you might call <see cref="M:Devart.Data.Oracle.OracleCommandBuilder.GetInsertCommand()" /> and modify the <see cref="P:Devart.Common.DbCommandBase.CommandTimeout" /> value, and then explicitly set that on the <see cref="T:Devart.Data.Oracle.OracleDataAdapter" />.</para><para>After the SQL statement is first generated, you must explicitly call <see cref="M:Devart.Common.DbCommandBuilderBase.RefreshSchema()" /> if it changes the statement in any way. Otherwise, the <see cref="M:Devart.Data.Oracle.OracleCommandBuilder.GetInsertCommand()" /> still will be using information from the previous statement, which might not be correct. The SQL statements are first generated when the application calls either <see cref="M:System.Data.Common.DbDataAdapter.Update()" /> or <see cref="M:Devart.Data.Oracle.OracleCommandBuilder.GetInsertCommand()" />.</para><para><paramref name="useColumnsForParameterNames" /> argument determines whether names of paramerters in command text will be like ":p1", ":p2" (if false), or names of columns will be used (if true), like ":mycolumn1", ":myothercolumn".</para> </remarks>
      <keywords>OracleCommandBuilder.GetInsertCommand method </keywords>
      <param name="useColumnsForParameterNames">Determines whether names of parameters in command text will be based on columns' names. </param>
      <returns>The text of the SQL statement to be executed. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleCommandBuilder.GetInsertCommand(System.String[],System.Boolean)">
      <summary>Gets the automatically generated SQL statement required to perform inserts on the database when an application calls <see cref="M:System.Data.Common.DbDataAdapter.Update()" /> on the <see cref="T:Devart.Data.Oracle.OracleDataAdapter" />. </summary>
      <remarks>You can use the <see cref="M:Devart.Data.Oracle.OracleCommandBuilder.GetInsertCommand()" /> method for informational or troubleshooting purposes because it returns the <see cref="T:Devart.Data.Oracle.OracleCommand" /> object to be executed.
<para>You can also use <see cref="M:Devart.Data.Oracle.OracleCommandBuilder.GetInsertCommand()" /> as the basis of a modified command. For example, you might call <see cref="M:Devart.Data.Oracle.OracleCommandBuilder.GetInsertCommand()" /> and modify the <see cref="P:Devart.Common.DbCommandBase.CommandTimeout" /> value, and then explicitly set that on the <see cref="T:Devart.Data.Oracle.OracleDataAdapter" />.</para><para>After the SQL statement is first generated, you must explicitly call <see cref="M:Devart.Common.DbCommandBuilderBase.RefreshSchema()" /> if it changes the statement in any way. Otherwise, the <see cref="M:Devart.Data.Oracle.OracleCommandBuilder.GetInsertCommand()" /> still will be using information from the previous statement, which might not be correct. The SQL statements are first generated when the application calls either <see cref="M:System.Data.Common.DbDataAdapter.Update()" /> or <see cref="M:Devart.Data.Oracle.OracleCommandBuilder.GetInsertCommand()" />.</para><para><paramref name="useColumnsForParameterNames" /> argument determines whether names of paramerters in command text will be like ":p1", ":p2" (if false), or names of columns will be used (if true), like ":mycolumn1", ":myothercolumn".</para><para><paramref name="fields" /> argument defines list of columns that are allowed to update. Columns not included into the list will not be updated.</para> </remarks>
      <keywords>OracleCommandBuilder.GetInsertCommand method </keywords>
      <param name="fields">Defines list of columns that are allowed to update. </param>
      <param name="useColumnsForParameterNames">Determines whether names of parameters in command text will be based on columns' names. </param>
      <returns>The text of the SQL statement to be executed. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleCommandBuilder.GetRefreshCommand()">
      <summary>Gets the automatically generated SQL statement required to refresh values from the database. </summary>
      <keywords>OracleCommandBuilder.GetRefreshCommand method </keywords>
      <returns>A <see cref="T:Devart.Common.DbCommand" /> with <see cref="P:Devart.Common.DbCommand.CommandText" /> containing SQL statement to be executed. </returns>
      <overloads>Gets the automatically generated SQL statement required to refresh values from the database. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleCommandBuilder.GetRefreshCommand(System.Boolean)">
      <summary>Gets the automatically generated SQL statement required to refresh values from the database. </summary>
      <keywords>OracleCommandBuilder.GetRefreshCommand method </keywords>
      <param name="useColumnsForParameterNames">Determines whether dotConnect for Oracle uses columns metadata to make up parameters' names. If <see langword="true" />, the names are composed using colon and name of appropriate column; otherwise the names look like :p1, :p2 etc. </param>
      <returns>A <see cref="T:Devart.Data.Oracle.OracleCommand" /> with <see cref="P:Devart.Data.Oracle.OracleCommand.CommandText" /> containing SQL statement to be executed. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleCommandBuilder.GetRefreshCommand(System.String[],System.Boolean)">
      <summary>Gets the automatically generated SQL statement required to refresh values from the database. </summary>
      <keywords>OracleCommandBuilder.GetRefreshCommand method </keywords>
      <param name="fields">The array of string containing list of the field names. </param>
      <param name="useColumnsForParameterNames">Determines whether dotConnect for Oracle uses columns metadata to make up parameters' names. If <see langword="true" />, the names are composed using colon and name of appropriate column; otherwise the names look like :p1, :p2 etc. </param>
      <returns>A <see cref="T:Devart.Data.Oracle.OracleCommand" /> with <see cref="P:Devart.Data.Oracle.OracleCommand.CommandText" /> containing SQL statement to be executed. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleCommandBuilder.GetUpdateCommand()">
      <summary>Gets the automatically generated SQL statement required to perform updates on the database when an application calls <see cref="M:System.Data.Common.DbDataAdapter.Update()" /> on the <see cref="T:Devart.Data.Oracle.OracleDataAdapter" />. </summary>
      <remarks>You can use the <see cref="M:Devart.Data.Oracle.OracleCommandBuilder.GetUpdateCommand()" /> method for informational or troubleshooting purposes because it returns the <see cref="T:Devart.Data.Oracle.OracleCommand" /> object to be executed.
<para>You can also use <see cref="M:Devart.Data.Oracle.OracleCommandBuilder.GetUpdateCommand()" /> as the basis of a modified command. For example, you might call <see cref="M:Devart.Data.Oracle.OracleCommandBuilder.GetUpdateCommand()" /> and modify the <see cref="P:Devart.Data.Oracle.OracleCommand.CommandText" /> value, and then explicitly set that on the <see cref="T:Devart.Data.Oracle.OracleDataAdapter" />.</para><para>After the SQL statement is first generated, you must explicitly call <see cref="M:Devart.Common.DbCommandBuilderBase.RefreshSchema" /> if it changes the statement in any way. Otherwise, the <see cref="M:Devart.Data.Oracle.OracleCommandBuilder.GetUpdateCommand()" /> still will be using information from the previous statement, which might not be correct. The SQL statements are first generated when the application calls either <see cref="M:System.Data.Common.DbDataAdapter.Update()" /> or <see cref="M:Devart.Data.Oracle.OracleCommandBuilder.GetUpdateCommand()" />.</para> </remarks>
      <keywords>OracleCommandBuilder.GetUpdateCommand method </keywords>
      <returns>The <see cref="T:Devart.Data.Oracle.OracleCommand" /> object to be executed. </returns>
      <overloads>Gets the automatically generated SQL statement required to perform updates on the database. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleCommandBuilder.GetUpdateCommand(System.Boolean)">
      <summary>Gets the automatically generated SQL statement required to perform updates on the database when an application calls <see cref="M:System.Data.Common.DbDataAdapter.Update()" /> on the <see cref="T:Devart.Data.Oracle.OracleDataAdapter" />. </summary>
      <remarks>You can use the <see cref="M:Devart.Data.Oracle.OracleCommandBuilder.GetUpdateCommand()" /> method for informational or troubleshooting purposes because it returns the <see cref="T:Devart.Data.Oracle.OracleCommand" /> object to be executed.
<para>You can also use <see cref="M:Devart.Data.Oracle.OracleCommandBuilder.GetUpdateCommand()" /> as the basis of a modified command. For example, you might call <see cref="M:Devart.Data.Oracle.OracleCommandBuilder.GetUpdateCommand()" /> and modify the <see cref="P:Devart.Data.Oracle.OracleCommand.CommandText" /> value, and then explicitly set that on the <see cref="T:Devart.Data.Oracle.OracleDataAdapter" />.</para><para>After the SQL statement is first generated, you must explicitly call <see cref="M:Devart.Common.DbCommandBuilderBase.RefreshSchema" /> if it changes the statement in any way. Otherwise, the <see cref="M:Devart.Data.Oracle.OracleCommandBuilder.GetUpdateCommand()" /> still will be using information from the previous statement, which might not be correct. The SQL statements are first generated when the application calls either <see cref="M:System.Data.Common.DbDataAdapter.Update()" /> or <see cref="M:Devart.Data.Oracle.OracleCommandBuilder.GetUpdateCommand()" />.</para><para><paramref name="useColumnsForParameterNames" /> argument determines whether names of paramerters in command text will be like ":p1", ":p2" (if false), or names of columns will be used (if true), like ":mycolumn1", ":myothercolumn".</para> </remarks>
      <keywords>OracleCommandBuilder.GetUpdateCommand method </keywords>
      <param name="useColumnsForParameterNames">Determines whether names of parameters in command text will be based on columns' names. </param>
      <returns>The <see cref="T:Devart.Data.Oracle.OracleCommand" /> object to be executed. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleCommandBuilder.GetUpdateCommand(System.String[],System.Boolean)">
      <summary>Gets the automatically generated SQL statement required to perform updates on the database when an application calls <see cref="M:System.Data.Common.DbDataAdapter.Update()" /> on the <see cref="T:Devart.Data.Oracle.OracleDataAdapter" />. </summary>
      <remarks>You can use the <see cref="M:Devart.Data.Oracle.OracleCommandBuilder.GetUpdateCommand()" /> method for informational or troubleshooting purposes because it returns the <see cref="T:Devart.Data.Oracle.OracleCommand" /> object to be executed.
<para>You can also use <see cref="M:Devart.Data.Oracle.OracleCommandBuilder.GetUpdateCommand()" /> as the basis of a modified command. For example, you might call <see cref="M:Devart.Data.Oracle.OracleCommandBuilder.GetUpdateCommand()" /> and modify the <see cref="P:Devart.Data.Oracle.OracleCommand.CommandText" /> value, and then explicitly set that on the <see cref="T:Devart.Data.Oracle.OracleDataAdapter" />.</para><para>After the SQL statement is first generated, you must explicitly call <see cref="M:Devart.Common.DbCommandBuilderBase.RefreshSchema" /> if it changes the statement in any way. Otherwise, the <see cref="M:Devart.Data.Oracle.OracleCommandBuilder.GetUpdateCommand()" /> still will be using information from the previous statement, which might not be correct. The SQL statements are first generated when the application calls either <see cref="M:System.Data.Common.DbDataAdapter.Update()" /> or <see cref="M:Devart.Data.Oracle.OracleCommandBuilder.GetUpdateCommand()" />.</para><para><paramref name="useColumnsForParameterNames" /> argument determines whether names of paramerters in command text will be like ":p1", ":p2" (if false), or names of columns will be used (if true), like ":mycolumn1", ":myothercolumn".</para><para><paramref name="fields" /> argument defines list of columns that are allowed to update. Columns not included into the list will not be updated.</para> </remarks>
      <keywords>OracleCommandBuilder.GetUpdateCommand method </keywords>
      <param name="fields">Defines list of columns that are allowed to update. </param>
      <param name="useColumnsForParameterNames">Determines whether names of parameters in command text will be based on columns' names. </param>
      <returns>The <see cref="T:Devart.Data.Oracle.OracleCommand" /> object to be executed. </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleCommandBuilder.KeyFields">
      <summary>Gets or sets string containing list of key field names separated by semicolon. They are used to generate update commands. </summary>
      <remarks><para>
This property is used when the <b>ConflictOption</b> property is set to OverwriteChanges, otherwise all columns will be used in the WHERE clause.
</para>

<para>
If <see cref="P:Devart.Data.Oracle.OracleCommandBuilder.KeyFields" /> is nonempty, its value is used as the list of columns for the WHERE clause. If <see cref="P:Devart.Data.Oracle.OracleCommandBuilder.KeyFields" /> is empty, the primary key columns are used.
</para> </remarks>
      <example>The following example demonstrates how UPDATE and DELETE statements are generated. <code lang="csharp">public void UseKeyFields(string connectionString) {

	OracleConnection conn = new OracleConnection(connectionString);
	conn.Open();

	OracleDataAdapter adapter = new OracleDataAdapter("SELECT * FROM Test.Dept", conn);
	OracleCommandBuilder commBuilder = new OracleCommandBuilder(adapter);

	commBuilder.ConflictOption = ConflictOption.OverwriteChanges;

	commBuilder.KeyFields = "loc";

	string updateComm = commBuilder.GetUpdateCommand().CommandText;
	string deleteComm = commBuilder.GetDeleteCommand().CommandText;

	Console.WriteLine(updateComm);
	Console.WriteLine(deleteComm);
	conn.Close();
} </code><code lang="vb">Public Sub UseKeyFields(ByVal connectionString As String)
	Dim conn As OracleConnection = New OracleConnection(connectionString)
	conn.Open()

	Dim adapter As OracleDataAdapter = New OracleDataAdapter("SELECT * FROM Test.Dept", conn)
	Dim commBuilder As OracleCommandBuilder = New OracleCommandBuilder(adapter)

	commBuilder.ConflictOption = ConflictOption.OverwriteChanges

	commBuilder.KeyFields = "loc"

	Dim updateComm As String = commBuilder.GetUpdateCommand().CommandText
	Dim deleteComm As String = commBuilder.GetDeleteCommand().CommandText

	Console.WriteLine(updateComm)
	Console.WriteLine(deleteComm)
	conn.Close()
End Sub </code></example>
      <keywords>OracleCommandBuilder.KeyFields property </keywords>
      <value>The string containing list of key field names separated by semicolon. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleCommandBuilder.QuoteIdentifier(System.String)">
      <summary>Returns the string passed as the parameter enclosed in quotes. </summary>
      <remarks>This method constructs a quoted identifier by concatenating <see cref="P:Devart.Common.DbCommandBuilderBase.QuotePrefix" />, <paramref name="unquotedIdentifier" />, and <see cref="P:Devart.Common.DbCommandBuilderBase.QuoteSuffix" />. </remarks>
      <keywords>OracleCommandBuilder.QuoteIdentifier method </keywords>
      <param name="unquotedIdentifier">Identifier to be placed inside the quotes. </param>
      <returns>The identifier enclosed in quotes. </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleCommandBuilder.RefreshingFields">
      <summary>Gets or sets list of fields whose values should be retrieved after a DML statement execution. </summary>
      <remarks>This property is used in conjunction with <see cref="P:Devart.Common.DbCommandBuilderBase.RefreshMode" />. </remarks>
      <seealso cref="M:Devart.Data.Oracle.OracleCommandBuilder.GetRefreshCommand" />
      <keywords>OracleCommandBuilder.RefreshingFields property </keywords>
      <value>The string containing list of field names separated by semicolon. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleCommandBuilder.SchemaSeparator">
      <summary>Gets or sets separator string to be used when referencing a table. </summary>
      <remarks>When <see cref="T:Devart.Data.Oracle.OracleCommandBuilder" /> builds a query, <see cref="P:Devart.Data.Oracle.OracleCommandBuilder.SchemaSeparator" /> is placed between schema name and table name if necessary. </remarks>
      <keywords>OracleCommandBuilder.SchemaSeparator property </keywords>
      <value>Separator between schema and table. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleCommandBuilder.UnquoteIdentifier(System.String)">
      <summary>Removes quote strings from identifier. </summary>
      <keywords>OracleCommandBuilder.UnquoteIdentifier method </keywords>
      <param name="quotedIdentifier">String containing <see cref="P:Devart.Common.DbCommandBuilderBase.QuotePrefix" />, identifier itself, and <see cref="P:Devart.Common.DbCommandBuilderBase.QuoteSuffix" /> parts. </param>
      <returns>Unquoted identifier. </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleCommandBuilder.UpdatingFields">
      <summary>Gets or sets list of fields to modify. </summary>
      <remarks>
        <see cref="P:Devart.Common.DbCommandBuilderBase.UpdatingFields" /> is used by <see cref="M:Devart.Data.Oracle.OracleCommandBuilder.GetInsertCommand" /> and <see cref="M:Devart.Data.Oracle.OracleCommandBuilder.GetUpdateCommand" /> overloads that do not have <i>fields</i> argument. If the <see cref="P:Devart.Data.Oracle.OracleCommandBuilder.UpdatingFields" /> property is empty, full set of columns is used. </remarks>
      <keywords>OracleCommandBuilder.UpdatingFields property </keywords>
      <value>The string containing list of field names separated by semicolon. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleCommandBuilder.UpdatingTable">
      <summary>
        <para>Gets or sets table name to generate update statements for.</para> </summary>
      <remarks>Use the <see cref="P:Devart.Data.Oracle.OracleCommandBuilder.UpdatingTable" /> property to generate SQL statements for specific table in a complicated query. </remarks>
      <keywords>OracleCommandBuilder.UpdatingTable property </keywords>
      <value>The name of the table. </value>
    </member>
    <member name="T:Devart.Data.Oracle.OracleConnectMode">
      <summary>Holds fields which allow to open a session with specified privileges. </summary>
      <remarks>The <see cref="T:Devart.Data.Oracle.OracleConnectMode" /> enumerator is used with <see cref="P:Devart.Data.Oracle.OracleConnection.ConnectMode" /> property. </remarks>
    </member>
    <member name="F:Devart.Data.Oracle.OracleConnectMode.Default">
      <summary>The default value. Opens an unprivileged session. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleConnectMode.SysDba">
      <summary>Opens a session with SYSDBA privilege. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleConnectMode.SysOper">
      <summary>Opens a session with SYSOPER privilege. </summary>
    </member>
    <member name="T:Devart.Data.Oracle.OracleConnection">
      <summary>Represents an open connection to an Oracle database. </summary>
      <remarks>
        <para>A <see cref="T:Devart.Data.Oracle.OracleConnection" /> object represents a unique connection to the Oracle database. Use it in conjunction with <see cref="T:Devart.Data.Oracle.OracleCommand" />, <see cref="T:Devart.Data.Oracle.OracleDataReader" />, <see cref="T:Devart.Data.Oracle.OracleDataAdapter" /> or other components for convenient interoperation with Oracle database.</para>
        <para>When you create an instance of <see cref="T:Devart.Data.Oracle.OracleConnection" />, all properties are set to their initial values. For a list of these values, see the <see cref="M:Devart.Data.Oracle.OracleConnection.#ctor" /> constructor.</para>
        <para>If the <see cref="T:Devart.Data.Oracle.OracleConnection" /> goes out of scope, it is not closed. Therefore, you must explicitly close the connection by calling <see cref="M:Devart.Common.DbConnectionBase.Close" />.</para>
        <para>Note that <see cref="T:Devart.Data.Oracle.OracleConnection" /> instance is not guaranteed to be thread safe. You should avoid using the same <see cref="T:Devart.Data.Oracle.OracleConnection" /> in several threads at the same time. It is recommended to open a new connection per thread and to close it when the work is done. Actually, connections will not be created/disposed every time with the Pooling=true; connection string option - connections will be stored at connection pool. This boosts performance greatly.</para>
        <para>A single <see cref="T:Devart.Data.Oracle.OracleConnection" /> can be used by many <see cref="T:Devart.Data.Oracle.OracleCommand" /> objects on the assumption that all operations will be done consecutively. In other words, you can not execute a SQL statement while an asynchronous operation is in progress.</para>
        <para>This class supports cross-form data binding with the <a href="InterForm.html">InterForm Technology</a>.</para> </remarks>
      <example>The following example creates a <see cref="T:Devart.Data.Oracle.OracleCommand" /> and a <see cref="T:Devart.Data.Oracle.OracleConnection" />. The <see cref="T:Devart.Data.Oracle.OracleConnection" /> is opened and set as the <see cref="P:Devart.Data.Oracle.OracleCommand.Connection" /> property. The example then calls <see cref="M:Devart.Common.DbCommand.ExecuteNonQuery" /> method, and closes the connection. To accomplish this, the <see cref="M:Devart.Common.DbCommand.ExecuteNonQuery" /> is passed a connection string and a query string that is SQL INSERT statement. <code lang="csharp">public void InsertRow(string myConnectionString)
{
  // If the connection string is empty, use default.
  if(myConnectionString == "")
  {
    myConnectionString = 
        "User Id=Scott;Password=tiger;Data Source=Ora";
  }
  OracleConnection myConn = new OracleConnection(myConnectionString);
  string myInsertQuery = "INSERT INTO Test.Dept(DeptNo, DName) Values(50, 'DEVELOPMENT')";
  OracleCommand myCommand = new OracleCommand(myInsertQuery);
  myCommand.Connection = myConn;
  myConn.Open();
  try
  {
    myCommand.ExecuteNonQuery();
  }
  finally
  {
    myConn.Close();
  }
} </code><code lang="vb">Public Sub InsertRow(myConnectionString As String)
  ' If the connection string is empty, use default.
  If myConnectionString = "" Then
    myConnectionString = _
        "User Id=Scott;Password=tiger;Data Source=Ora"
  End If
  Dim myConn As New OracleConnection(myConnectionString)
  Dim myInsertQuery As String = "INSERT INTO Test.Dept(DeptNo, DName) Values(50, 'DEVELOPMENT')"
  Dim myCommand As New OracleCommand(myInsertQuery)
  myCommand.Connection = myConn
  myConn.Open()
  Try
    myCommand.ExecuteNonQuery()
  Finally
    myConn.Close()
  End Try
End Sub </code></example>
      <seealso cref="T:Devart.Data.Oracle.OracleDataAdapter" />
      <seealso cref="T:Devart.Data.Oracle.OracleCommand" />
    </member>
    <member name="M:Devart.Data.Oracle.OracleConnection.#ctor()">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleConnection" /> class. </summary>
      <remarks>When a new instance of <see cref="T:Devart.Data.Oracle.OracleConnection" /> is created, the read/write properties are set to the following initial values unless they are specifically set using their associated keywords in the <see cref="P:Devart.Data.Oracle.OracleConnection.ConnectionString" /> property.
<list type="table"><listheader><term>Properties</term><description>Initial Value</description></listheader><item><term><see cref="P:Devart.Data.Oracle.OracleConnection.ConnectionString" /></term><description>empty string ("")</description></item><item><term><see cref="P:Devart.Data.Oracle.OracleConnection.ConnectionTimeout" /></term><description>15</description></item>

  <item><term><see cref="P:Devart.Data.Oracle.OracleConnection.Password" /></term><description>empty string ("")</description></item>

  <item><term><see cref="P:Devart.Data.Oracle.OracleConnection.UserId" /></term><description>empty string ("")</description></item></list> </remarks>
      <example>The following example creates and opens a <see cref="T:Devart.Data.Oracle.OracleConnection" />. <code lang="csharp">public void CreateOracleConnection()
{
  OracleConnection myConnection = new OracleConnection();
  myConnection.ConnectionString = 
      "User Id=Scott;Password=tiger;Data Source=Ora";
  myConnection.Open();
  //Do something
  myConnection.Close();
} </code><code lang="vb">Public Sub CreateOracleConnection()
  Dim myConnection As New OracleConnection()
  myConnection.ConnectionString = _ 
      "User Id=Scott;Password=tiger;Data Source=Ora"
  myConnection.Open()
  'Do something
  myConnection.Close()
End Sub </code></example>
      <overloads>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleConnection" /> class. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleConnection.#ctor(System.String)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleConnection" /> class when given a string containing the connection string. </summary>
      <remarks>When a new instance of <see cref="T:Devart.Data.Oracle.OracleConnection" /> is created, the read/write properties are set to the following initial values unless they are specifically set using their associated keywords in the <see cref="P:Devart.Data.Oracle.OracleConnection.ConnectionString" /> property.
<list type="table"><listheader><term>Properties</term><description>Initial Value</description></listheader><item><term><see cref="P:Devart.Data.Oracle.OracleConnection.ConnectionString" /></term><description><i>connectionString</i></description></item><item><term><see cref="P:Devart.Data.Oracle.OracleConnection.ConnectionTimeout" /></term><description>15</description></item>

  <item><term><see cref="P:Devart.Data.Oracle.OracleConnection.Password" /></term><description>empty string ("")</description></item>

  <item><term><see cref="P:Devart.Data.Oracle.OracleConnection.UserId" /></term><description>empty string ("")</description></item></list> </remarks>
      <example>The following example creates and opens a <see cref="T:Devart.Data.Oracle.OracleConnection" />. <code lang="csharp">public void CreateOracleConnection()
{
  string myConnString = 
      "User Id=Scott;Password=tiger;Data Source=Ora";
  OracleConnection myConnection = new OracleConnection(myConnString);
  myConnection.Open();
  //Do something
  myConnection.Close();
} </code><code lang="vb">Public Sub CreateOracleConnection()
  Dim myConnString As String = _
      "User Id=Scott;Password=tiger;Data Source=Ora"
  Dim myConnection As New OracleConnection(myConnString)
  myConnection.Open()
  'Do something
  myConnection.Close()
End Sub </code></example>
      <seealso cref="P:Devart.Data.Oracle.OracleConnection.ConnectionString" />
      <param name="connectionString">The connection used to connect to Oracle. </param>
    </member>
    <member name="P:Devart.Data.Oracle.OracleConnection.AutoCommit">
      <summary>Determines whether modifications will be committed automatically at the server or not. </summary>
      <remarks>By default, dotConnect for Oracle provider is in AutoCommit mode that commits a current transaction automatically after the execution of each SQL statement. If a transaction was started explicitly by calling <see cref="M:Devart.Data.Oracle.OracleConnection.BeginTransaction" /> method the value of <see cref="P:Devart.Data.Oracle.OracleConnection.AutoCommit" /> property is ignored. </remarks>
      <keywords>OracleConnection.AutoCommit property </keywords>
      <value><see langword="true" /> if <see cref="M:Devart.Data.Oracle.OracleConnection.Commit()" /> is called for the current transaction after the execution of each SQL statement; otherwise, <see langword="false" />. The default value is <see langword="true" />. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleConnection.BeginTransaction()">
      <summary>Begins a database transaction. </summary>
      <remarks>To commit or roll back the transaction, you must explicitly use the <see cref="M:Devart.Data.Oracle.OracleConnection.Commit()" /> or <see cref="M:Devart.Data.Oracle.OracleConnection.Rollback()" /> methods.
 </remarks>
      <example>The following example creates a <see cref="T:Devart.Data.Oracle.OracleConnection" /> and a <see cref="T:Devart.Data.Oracle.OracleTransaction" />. It also demonstrates how to use the <see cref="M:Devart.Data.Oracle.OracleConnection.BeginTransaction()" />, <see cref="M:Devart.Data.Oracle.OracleConnection.Commit" />, and <see cref="M:Devart.Data.Oracle.OracleConnection.Rollback" /> methods. <code lang="csharp">public void RunOracleTransaction(string myConnString)
{
  OracleConnection myConnection = new OracleConnection(myConnString);
  myConnection.Open();

  OracleCommand myCommand = new OracleCommand();
  myCommand.Connection = myConnection;
  OracleTransaction myTrans;

  // Start a local transaction
  myTrans = myConnection.BeginTransaction();
  // Assign transaction object for a pending local transaction
  myCommand.Transaction = myTrans;

  try
  {
    myCommand.CommandText = "INSERT INTO Test.Dept(DeptNo, DName) Values(50, 'DEVELOPMENT')";
    myCommand.ExecuteNonQuery();
    myCommand.CommandText = "INSERT INTO Test.Dept(DeptNo, DName) Values(60, 'PRODUCTION')";
    myCommand.ExecuteNonQuery();
    myTrans.Commit();
    Console.WriteLine("Both records are written to database.");
  }
  catch(Exception e)
  {
    myTrans.Rollback();
    Console.WriteLine(e.ToString());
    Console.WriteLine("Neither record was written to database.");
  }
  finally
  {
    myConnection.Close();
  }
} </code><code lang="vb">Public Sub RunOracleTransaction(myConnString As String)
  Dim myConnection As New OracleConnection(myConnString)
  myConnection.Open()

  Dim myCommand As New OracleCommand()
  myCommand.Connection = myConnection
  Dim myTrans As OracleTransaction

  ' Start a local transaction
  myTrans = myConnection.BeginTransaction()
  ' Assign transaction object for a pending local transaction
  myCommand.Transaction = myTrans

  Try
    myCommand.CommandText = "INSERT INTO Test.Dept(DeptNo, DName) Values(50, 'DEVELOPMENT')"
    myCommand.ExecuteNonQuery()
    myCommand.CommandText = "INSERT INTO Test.Dept(DeptNo, DName) Values(60, 'PRODUCTION')"
    myCommand.ExecuteNonQuery()
    myTrans.Commit()
    Console.WriteLine("Both records are written to database.")
  Catch e As Exception
    myTrans.Rollback()
    Console.WriteLine(e.ToString())
    Console.WriteLine("Neither record was written to database.")
  Finally
    myConnection.Close()
  End Try
End Sub </code></example>
      <seealso cref="T:Devart.Data.Oracle.OracleCommand" />
      <seealso cref="T:Devart.Data.Oracle.OracleTransaction" />
      <seealso cref="M:Devart.Data.Oracle.OracleConnection.Commit" />
      <seealso cref="M:Devart.Data.Oracle.OracleConnection.Rollback" />
      <keywords>OracleConnection.BeginTransaction method </keywords>
      <returns>An object representing the new transaction. </returns>
      <overloads>Begins a transaction at the database. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleConnection.BeginTransaction(System.Data.IsolationLevel)">
      <summary>Begins a database transaction with the specified isolation level. </summary>
      <remarks>To commit or roll back the transaction, you must explicitly use the <see cref="M:Devart.Data.Oracle.OracleConnection.Commit()" /> or <see cref="M:Devart.Data.Oracle.OracleConnection.Rollback()" /> methods.

 </remarks>
      <example>The following example creates a <see cref="T:Devart.Data.Oracle.OracleConnection" /> and a <see cref="T:Devart.Data.Oracle.OracleTransaction" />. It also demonstrates how to use the <see cref="M:Devart.Data.Oracle.OracleConnection.BeginTransaction()" />, <see cref="M:Devart.Data.Oracle.OracleConnection.Commit" />, and <see cref="M:Devart.Data.Oracle.OracleConnection.Rollback" /> methods. <code lang="csharp">public void RunOracleTransaction(string myConnString)
{
  OracleConnection myConnection = new OracleConnection(myConnString);
  myConnection.Open();

  OracleCommand myCommand = new OracleCommand();
  myCommand.Connection = myConnection;
  OracleTransaction myTrans;

  // Start a local transaction
  myTrans = myConnection.BeginTransaction(IsolationLevel.ReadCommitted);
  // Assign transaction object for a pending local transaction
  myCommand.Transaction = myTrans;

  try
  {
    myCommand.CommandText = "INSERT INTO Dept(DeptNo, DName) Values(50, 'DEVELOPMENT')";
    myCommand.ExecuteNonQuery();
    myCommand.CommandText = "INSERT INTO Dept(DeptNo, DName) Values(60, 'PRODUCTION')";
    myCommand.ExecuteNonQuery();
    myTrans.Commit();
    Console.WriteLine("Both records are written to database.");
  }
  catch(Exception e)
  {
    myTrans.Rollback();
    Console.WriteLine(e.ToString());
    Console.WriteLine("Neither record was written to database.");
  }
  finally
  {
    myConnection.Close();
  }
} </code><code lang="vb">Public Sub RunOracleTransaction(myConnString As String)
  Dim myConnection As New OracleConnection(myConnString)
  myConnection.Open()

  Dim myCommand As New OracleCommand()
  myCommand.Connection = myConnection
  Dim myTrans As OracleTransaction

  ' Start a local transaction
  myTrans = myConnection.BeginTransaction(IsolationLevel.ReadCommitted)
  ' Assign transaction object for a pending local transaction
  myCommand.Transaction = myTrans

  Try
    myCommand.CommandText = "INSERT INTO Dept(DeptNo, DName) Values(50, 'DEVELOPMENT')"
    myCommand.ExecuteNonQuery()
    myCommand.CommandText = "INSERT INTO Dept(DeptNo, DName) Values(60, 'PRODUCTION')"
    myCommand.ExecuteNonQuery()
    myTrans.Commit()
    Console.WriteLine("Both records are written to database.")
  Catch e As Exception
    myTrans.Rollback()
    Console.WriteLine(e.ToString())
    Console.WriteLine("Neither record was written to database.")
  Finally
    myConnection.Close()
  End Try
End Sub </code></example>
      <seealso cref="T:Devart.Data.Oracle.OracleCommand" />
      <seealso cref="T:Devart.Data.Oracle.OracleTransaction" />
      <seealso cref="M:Devart.Data.Oracle.OracleConnection.Commit" />
      <seealso cref="M:Devart.Data.Oracle.OracleConnection.Rollback" />
      <keywords>OracleConnection.BeginTransaction method </keywords>
      <param name="il">The isolation level to use. </param>
      <returns>An object representing the new transaction. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleConnection.ChangePassword(System.String)">
      <summary>Changes the password for the specified user. </summary>
      <remarks>Use the <see cref="M:Devart.Data.Oracle.OracleConnection.ChangePassword" /> method to change user's password if the current password is obsolete. If a session is not opened the <see cref="M:Devart.Data.Oracle.OracleConnection.ChangePassword" /> method opens the session automatically with username and password specified at <see cref="P:Devart.Data.Oracle.OracleConnection.UserId" /> and <see cref="P:Devart.Data.Oracle.OracleConnection.Password" /> properties. </remarks>
      <keywords>OracleConnection.ChangePassword method </keywords>
      <param name="newPassword">The new password. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleConnection.ClearAllPools()">
      <summary>Clears all pools associated with the connection. </summary>
      <remarks>
        <para>Pools are automatically cleared if a connection is idle for some time or closed by the server. Call <see cref="M:Devart.Data.Oracle.OracleConnection.ClearAllPools" /> to force explicit pools clearance.</para>
        <para>
          <see cref="M:Devart.Data.Oracle.OracleConnection.ClearAllPools" /> method does not immediately clear the pools. The operation is started in approximately 30 seconds. The main thread of the application is not blocked.</para> </remarks>
      <keywords>OracleConnection.ClearAllPools method </keywords>
    </member>
    <member name="M:Devart.Data.Oracle.OracleConnection.ClearPool(Devart.Data.Oracle.OracleConnection)">
      <summary>Clears the pool matching <see cref="P:Devart.Data.Oracle.OracleConnection.ConnectionString" /> of provided <see cref="T:Devart.Data.Oracle.OracleConnection" /> object. </summary>
      <remarks>
        <para>Pool is automatically cleared if a connection is idle for some time or closed by the server. Call <see cref="M:Devart.Data.Oracle.OracleConnection.ClearPool" /> to force explicit pool clearance.</para>
        <para>
          <see cref="M:Devart.Data.Oracle.OracleConnection.ClearPool" /> does not immediately clear the pool. The operation is started in approximately 30 seconds. The main thread of the application is not blocked.</para> </remarks>
      <keywords>OracleConnection.ClearPool method </keywords>
      <param name="connection">A connection that holds <see cref="P:Devart.Data.Oracle.OracleConnection.ConnectionString" /> that identifies pool to clear. </param>
    </member>
    <member name="P:Devart.Data.Oracle.OracleConnection.ClientId">
      <summary>This property specifies the client identifier for the connection. It helps to make audition of the client connections and gives an opportunity to distinguish between the applications connecting to. </summary>
      <keywords>OracleConnection.ClientId property </keywords>
      <value>The string to be used as the client identifier. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleConnection.ClientVersion">
      <summary>Returns version of Oracle client used for this connection. </summary>
      <keywords>OracleConnection.ClientVersion property </keywords>
      <value>A string containing the Oracle client version. In <see cref="P:Devart.Data.Oracle.OracleConnection.Direct" /> Mode, returns "9.2.0.0". </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleConnection.Clone()">
      <summary>Creates a new object that is a copy of the current instance. </summary>
      <remarks>
        <para>Creates a new <see cref="T:Devart.Data.Oracle.OracleConnection" /> object with the properties that have the same values as those of the original object. However, changing properties of the new object has no influence on the values of the same properties of the original object.</para>
        <para>Note that state of the new instance is always <b>Closed</b>, regardless of the state of original instance.</para> </remarks>
      <example>This example shows how to clone a <see cref="T:Devart.Data.Oracle.OracleConnection" />. To make sure all the properties are inherited, one of them (UserId) is written to the console. <code lang="csharp">public void CloneAConnection()
{
  OracleConnection myConnection = new OracleConnection(
      "User Id=Scott;Password=tiger;Data Source=Ora");
  OracleConnection myConnection2 = (OracleConnection)myConnection.Clone();
  Console.WriteLine(myConnection2.UserId);
} </code><code lang="vb">Public Sub CloneAConnection()
  Dim myConnection As New OracleConnection( _
      "User Id=Scott;Password=tiger;Data Source=Ora")
  Dim myConnection2 As OracleConnection = CType(myConnection.Clone(), OracleConnection)
  Console.WriteLine(myConnection2.UserId)
End Sub </code></example>
      <keywords>OracleConnection.Clone method </keywords>
      <returns>A new <see cref="T:Devart.Data.Oracle.OracleConnection" /> object. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleConnection.Close()">
      <summary>Closes the connection to the database. This is the preferred method of closing any open connection. </summary>
      <remarks>The <see cref="M:Devart.Common.DbConnection.Close()" /> method rolls back any pending transactions. It then releases the connection to the connection pool, or closes the connection if connection pooling is disabled. 
<para>Note that you must manually close all connections opened by the application. If a <see cref="T:Devart.Common.DbConnection" /> goes out of scope, it is not closed automatically till the application shuts down.</para>
<para>An application can call <see cref="M:Devart.Common.DbConnection.Close()" /> more than one time without generating an exception.</para> </remarks>
      <keywords>OracleConnection.Close method </keywords>
    </member>
    <member name="M:Devart.Data.Oracle.OracleConnection.Commit()">
      <summary>Commits the database transaction. </summary>
      <example>The following example demonstrates how to use <see cref="M:Devart.Data.Oracle.OracleConnection.Commit()" /> and <see cref="M:Devart.Data.Oracle.OracleConnection.Rollback()" /> methods. <code lang="csharp">public void RunOracleTransaction(string myConnString)
{
  OracleConnection myConnection = new OracleConnection(myConnString);
  myConnection.Open();
  OracleCommand myCommand = new OracleCommand();
  myCommand.Connection = myConnection;
  myConnection.BeginTransaction();
  try
  {
    myCommand.CommandText = "INSERT INTO Test.Dept(DeptNo, DName) Values(50, 'DEVELOPMENT')";
    myCommand.ExecuteNonQuery();
    myCommand.CommandText = "INSERT INTO Test.Dept(DeptNo, DName) Values(60, 'PRODUCTION')";
    myCommand.ExecuteNonQuery();
    myConnection.Commit();
    Console.WriteLine("Both records are written to database.");
  }
  catch(Exception e)
  {
    myConnection.Rollback();
    Console.WriteLine(e.ToString());
    Console.WriteLine("Neither record was written to database.");
  }
  finally
  {
    myConnection.Close();
  }
} </code><code lang="vb">Public Sub RunOracleTransaction(myConnString As String)
  Dim myConnection As New OracleConnection(myConnString)
  myConnection.Open()
  Dim myCommand As New OracleCommand()
  myCommand.Connection = myConnection
  myConnection.BeginTransaction()
  Try
    myCommand.CommandText = "INSERT INTO Test.Dept(DeptNo, DName) Values(50, 'DEVELOPMENT')"
    myCommand.ExecuteNonQuery()
    myCommand.CommandText = "INSERT INTO Test.Dept(DeptNo, DName) Values(60, 'PRODUCTION')"
    myCommand.ExecuteNonQuery()
    myConnection.Commit()
    Console.WriteLine("Both records are written to database.")
  Catch e As Exception
    myConnection.Rollback()
    Console.WriteLine(e.ToString())
    Console.WriteLine("Neither record was written to database.")
  Finally
    myConnection.Close()
  End Try
End Sub </code></example>
      <seealso cref="M:Devart.Data.Oracle.OracleConnection.Rollback" />
      <seealso cref="M:Devart.Data.Oracle.OracleConnection.BeginTransaction" />
      <keywords>OracleConnection.Commit method </keywords>
    </member>
    <member name="P:Devart.Data.Oracle.OracleConnection.ConnectMode">
      <summary>Opens a session with administrative privileges SYSDBA or SYSOPER. </summary>
      <remarks>To open a session with SYSDBA or SYSOPER privileges the user must have appropriate privileges. </remarks>
      <keywords>OracleConnection.ConnectMode property </keywords>
      <value>An <see cref="T:Devart.Data.Oracle.OracleConnectMode" /> to determine user privileges. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleConnection.ConnectionString">
      <summary>Gets or sets the string used to open an Oracle server database. </summary>
      <remarks>The <see cref="P:Devart.Data.Oracle.OracleConnection.ConnectionString" /> property can be set only when the connection is closed; setting ConnectionString of an opened connection closes this connection. Many of the connection string values have corresponding properties. When the connection string is set, all of these properties are updated, except when an error is detected. In this case, none of the properties are updated. <see cref="T:Devart.Data.Oracle.OracleConnection" /> properties return only those settings contained in the <see cref="P:Devart.Data.Oracle.OracleConnection.ConnectionString" />.
<para>Resetting the <see cref="P:Devart.Data.Oracle.OracleConnection.ConnectionString" /> on a closed connection resets all connection string values (and related properties) including the password. For example, if you set a connection string that includes "Home = OraClient11g_Home1", and then reset the connection string to "Data Source=ora; User ID = Scott; Password = tiger", the <see cref="P:Devart.Data.Oracle.OracleConnection.Home" /> property is no longer set to 'OraClient11g_Home1'.</para>
<para>The connection string is parsed immediately after being set. If errors in syntax are found when parsing, a runtime exception, such as <see cref="T:System.ArgumentException" />, is generated. Other errors can be found only when an attempt is made to open the connection.</para>

<para>The ConnectionString property format is the same as for common ADO.NET connection strings. Connection string consists of pairs of parameter name and parameter value connected by the equal sign (=). Each pair should be separated from the previous one by a semicolon. Parameter values may be specified inside single or double qotes, (for example, name='value' or name="value"). Either single or double quotes may be used in a value if it is set using another type of quotes, for example, name="value's" or name= 'value"s', but not name= 'value's' or name= ""value"". If a semicolon is a part of a value, the value must be quoted. All blank characters, except those placed within a value or within quotes, are ignored. No escape sequences are supported. The value type is irrelevant. Parameter names are case insensitive. Arguments names may occur only once in the connection string.</para>

<para>The following table lists the valid names for values within the ConnectionString.</para>

<list type="table">
  <listheader>
    <term>Name</term>
    <description>Description</description>
  </listheader>

  <item>
    <term>Connect Mode</term>
    <description>Allows to open a session with administrative privileges SYSDBA or SYSOPER.</description>
  </item>

  <item>
    <term>Connection Class</term>
    <description>Connection class for Oracle's Database Resident Connection Pooling (DRCP). You need to set also OCI Session Pooling = true for using DRCP. DRCP is supported starting with Oracle 11g.</description>
  </item>

  <item>
    <term>Connection Lifetime</term>
    <description>When a connection is returned to the pool, its creation time is compared with the current time, and the connection is destroyed if that time span (in seconds) exceeds the value specified by Connection Lifetime. The default value is 0.</description>
  </item>

  <item>
    <term>Connection Timeout</term>
    <description>Time (in seconds) to wait while trying to establish a connection before terminating the attempt and generating an error. A value of 0 indicates no limit. The default value is 15 seconds. Available in Direct mode only.</description>
  </item>

  <item>
    <term>Data Source -or- Server -or- Host</term>
    <description>The name of TNS alias of Oracle database to which to connect.
    For more information refer to <see cref="P:Devart.Data.Oracle.OracleConnection.Server" /> property.
    </description>
  </item>

  <item>
    <term>Default Command Timeout</term>
    <description>The time in seconds to wait while trying to execute a command before terminating the attempt and generating an error. 0 indicates no limit.</description>
  </item>

  <item>
    <term>Direct</term>
    <description>If <see langword="true" />, dotConnect for Oracle can operate without an Oracle client installed. The default value is <see langword="false" />.</description>
  </item>

  <item>
    <term>Enlist</term>
    <description>Determines whether the connection is automatically enlisted in the current distributed transaction. The default value is <see langword="true" />. This parameter is not available in Mobile Edition.</description>
  </item>

  <item>
    <term>Home</term>
    <description>The Oracle Home that will be used.</description>
  </item>

  <item>
    <term>Initialization Command</term>
    <description>Specifies a database-specific command that should be executed immediately after establishing the connection.</description>
  </item>

  <item>
    <term>Max Pool Size</term>
    <description>The maximum number of connections allowed in the pool. Setting the Max Pool Size value of the ConnectionString can affect performance. The default value is 100.</description>
  </item>

  <item>
    <term>Min Pool Size</term>
    <description>The minimum number of connections allowed in the pool. The default value is 0.</description>
  </item>

  <item>
    <term>Number Mappings</term>
    <description>
      <para>Sets the number mappings used for this connection. Each mapping is set as (OracleNumberType, FromPrecision, ToPrecision, SystemType), where:</para>
      <para>
        - OracleNumberType is one of the values from <see cref="T:Devart.Data.Oracle.OracleNumberType" /> enumeration;<br />
        FromPrecision and ToPrecision set the minimal and maximal precisions of the Oracle number type to map with this mapping;<br />
        SystemType is a .NET type to which Oracle number type should be mapped.<br />
      </para>
      <para>
        Several mappings should be separated by commas and covered by a common parentheses. For example, this property may be set as:<br />
        Number Mappings = (Integer, 1, 1, System.Boolean)<br />
        or<br />
        Number Mappings = ((Integer, 1, 5, System.Int16), (FLOAT,12,15,System.Decimal), (NUMBER,7,9,System.Single))<br />
      </para>
    </description>
  </item>

  <item>
    <term>Oci Session Pooling</term>
    <description>If <see langword="true" />, enables the OCI Session Pooling feature. In this mode the dotConnect for Oracle pool is disabled.</description>
  </item>

  <item>
    <term>Oci Session Pool Allow Waiting</term>
    <description>If <see langword="true" />, new connections wait for an existing one to close if <b>Max Size</b> is reached; 
    otherwise an exception is thrown.</description>
  </item>

  <item>
    <term>Oci Session Pool Connection Lifetime</term>
    <description>This attribute specifies the lifetime of the connection in seconds. Before the Connection is placed back into the pool, the lifetime of the connection is checked. If the lifetime of the connection exceeds this property value, the connection is closed and disposed. If this property value is 0, the connection lifetime is never checked.</description>
  </item>

  <item>
    <term>Oci Session Pool Increment</term>
    <description>Allows applications to set the next increment for sessions 
    to be started if the current number of sessions is less than <b>Max Size</b>. The valid values 
    are 1 and above.</description>
  </item>

  <item>
    <term>Oci Session Pool Max Size</term>
    <description>Specifies the maximum number of sessions that can be opened 
    in the session pool. Once this value is reached, no more sessions are opened. The valid 
    values are 1 and above.</description>
  </item>

  <item>
    <term>Oci Session Pool Min Size</term>
    <description>Specifies the minimum number of sessions in the session pool. 
    This number of sessions are started initially. After this, sessions are opened only when 
    necessary.</description>
  </item>

  <item>
    <term>Oci Session Pool Password</term>
    <description>If set, defines password for proxy user.</description>
  </item>

  <item>
    <term>Oci Session Pool User Id</term>
    <description>If set, defines user name for proxy user. Available only when OCI Session Pooling is enabled. 
    If you want to have proxy connections without OCI Session Pooling, use the 
    <see cref="M:Devart.Data.Oracle.OracleConnection.Open(Devart.Data.Oracle.OracleConnection)" /> overload that accepts 
    another <see cref="T:Devart.Data.Oracle.OracleConnection" /> as argument.</description>
  </item>

  <item>
    <term>OraMts</term>
    <description>If set to <see langword="true" />, Oracle Services for Microsoft Transaction Server (OraMTS) is used for distributed transactions; otherwise OraMTS is not used.</description>
   </item>

  <item>
    <term>Pass Parameters By Name</term>
    <description>Pass parameters by name to the stored procedure calls. If set to <see langword="true" />, parameters will be passed by name regardless of individual OracleCommand.PassParametersByName values. Default value is <see langword="false" />.</description>
   </item>

  <item>
    <term>Password</term>
    <description>The password for the Oracle login account. Leave blank if you want to use Integrated Security connections (OS authentication)</description>
   </item>

  <item>
    <term>Pooling</term>
    <description>If <see langword="true" />, by default, the <see cref="T:Devart.Data.Oracle.OracleConnection" /> object is drawn from the appropriate pool or is created and added to the appropriate pool.</description>
  </item>

  <item>
    <term>Port</term>
    <description>Number of a port to communicate with listener on the server to use in <see cref="P:Devart.Data.Oracle.OracleConnection.Direct" /> mode. The default value is 1521.</description>
  </item>

  <item>
    <term>Service Name</term>
    <description>Alias to an Oracle database instance (or many instances)  to use in the OracleConnection.Direct mode. The default value is empty string. When Service Name is specified and implies several database instances, dotConnect for Oracle connects to the first instance provided by Oracle listener. Note that RAC is not supported in the Direct mode, and provider works only with this one database instance.</description>
  </item>

  <item>
    <term>SID</term>
    <description>Unique name for an Oracle database instance  to use in the OracleConnection.Direct mode. The default value is empty string.</description>
  </item>

  <item>
    <term>Statement Cache Size</term>
    <description>This attribute enables or disables statement caching. Its value specifies the maximum number of statements that can be cached for a connection. By default this attribute is set to 0 (disabled). Statement caching starts if this parameter is set to a value more than 0. It should not be more than MAX_OPEN_CURSORS parameter in an Oracle database.</description>
  </item>

  <item>
    <term>Transaction Scope Local</term>
    <description>If there are several connections with the same connection string (which includes "Transaction Scope Local=true;") within a scope of TransactionScope, our provider will use only one connection internally. The default value is false. Not available in Mobile Edition.</description>
  </item>

  <item>
    <term>Trim Fixed Char</term>
    <description>Specifies whether to trim trailing spaces when reading data from fixed-length string data types (CHAR, NCHAR). It affects all command objects of this connection. Behaviour of data reader depends on Trim Fixed Char value at the moment of opening data reader. The default value is <see langword="true" />.</description>
  </item>

  <item>
    <term>Unicode</term>
    <description>Specifies whether dotConnect for Oracle uses UTF16 mode API calls. The default value is <see langword="false" />.</description>
  </item>

  <item>
    <term>User ID -or- User</term>
    <description>The Oracle login account. Leave blank if you want to use Integrated Security connections (OS authentication).</description>
  </item>

  <item>
    <term>Validate Connection</term>
    <description>Specifies whether to validate connections that are being got from the pool.</description>
  </item>

</list> </remarks>
      <example>The following example creates an <see cref="T:Devart.Data.Oracle.OracleConnection" /> and sets some of its properties in the connection string. <code lang="csharp">public void CreateOraConnection()
{
	string oracleConnectionString1 = "User ID=Scott; Password=tiger; Data Source=ORA"; 
	OracleConnection oracleConnection1 = new OracleConnection(oracleConnectionString1); 
	oracleConnection1.Open(); 
 
	string oracleConnectionString2 = 
		"User ID=Scott; Password=tiger; Direct = true; Host=ORA; Service Name=SID; Port=1521;"; 
	OracleConnection oracleConnection2 = new OracleConnection(oracleConnectionString2); 
	oracleConnection2.Open(); 
} </code><code lang="vb">Public Sub CreateOraConnection()
	Dim OracleConnectionString1 As String = "User ID=Scott; Password=tiger; Data Source=ORA"
	Dim OracleConnection1 As New OracleConnection(OracleConnectionString1)
	OracleConnection1.Open()

	Dim OracleConnectionString2 As String = _
		"User ID=Scott; Password=tiger; Direct = true; Host=ORA; Service Name=SID; Port=1521;"
	Dim OracleConnection2 As New OracleConnection(OracleConnectionString2)
	OracleConnection2.Open()
End Sub </code></example>
      <seealso cref="M:Devart.Data.Oracle.OracleConnection.Open" />
      <keywords>OracleConnection.ConnectionString property </keywords>
      <value>The connection string that includes the source database name, and other parameters needed to establish the initial connection. The default value is an empty string (""). </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleConnection.ConnectionTimeout">
      <summary>Gets the time to wait while trying to establish a connection before terminating the attempt and generating an error. </summary>
      <remarks>A value of 0 indicates no limit, and should be avoided in a <see cref="P:Devart.Data.Oracle.OracleConnection.ConnectionString" /> because an attempt to connect will wait indefinitely. Use connection string to overwrite this value.
<para>Available in Direct mode only.</para> </remarks>
      <keywords>OracleConnection.ConnectionTimeout property </keywords>
      <value>The time (in seconds) to wait for a connection to open. The default value is 15 seconds. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleConnection.CreateCommand()">
      <summary>Creates and returns a <see cref="T:Devart.Data.Oracle.OracleCommand" /> object associated with the <see cref="T:Devart.Data.Oracle.OracleConnection" />. </summary>
      <remarks>You can use this method as an alternative to common <see cref="T:Devart.Data.Oracle.OracleCommand" /> constructors. </remarks>
      <example>In this sample <see cref="T:Devart.Data.Oracle.OracleCommand" /> object is created. It is automatically associated with <see cref="T:Devart.Data.Oracle.OracleConnection" /> that created it. <code lang="csharp">public void CreateOracleCommand(string myConnString)
{
  OracleConnection myConnection = new OracleConnection(myConnString);
  OracleCommand myCommand = myConnection.CreateCommand();
  myCommand.CommandText = "INSERT INTO Test.Dept(DeptNo, DName) Values(50, 'DEVELOPMENT')";
  myConnection.Open();
  try
  {
    myCommand.ExecuteNonQuery();
  }
  finally
  {
    myConnection.Close();
  }
} </code><code lang="vb">Public Sub CreateOracleCommand(ByVal myConnString As String)
  Dim myConnection As New OracleConnection(myConnString)
  Dim myCommand As OracleCommand = myConnection.CreateCommand()
  myCommand.CommandText = "INSERT INTO Test.Dept(DeptNo, DName) Values(50, 'DEVELOPMENT')"
  myConnection.Open()
  Try
    myCommand.ExecuteNonQuery()
  Finally
    myConnection.Close()
  End Try
End Sub </code></example>
      <seealso cref="T:Devart.Data.Oracle.OracleCommand" />
      <keywords>OracleConnection.CreateCommand method </keywords>
      <returns>A <see cref="T:Devart.Data.Oracle.OracleCommand" /> object. </returns>
      <overloads>Creates and returns a <see cref="T:Devart.Data.Oracle.OracleCommand" /> object associated with the <see cref="T:Devart.Data.Oracle.OracleConnection" />. </overloads>
    </member>
    <member name="P:Devart.Data.Oracle.OracleConnection.Database">
      <summary>Not supported in Oracle. </summary>
      <keywords>OracleConnection.Database property </keywords>
    </member>
    <member name="P:Devart.Data.Oracle.OracleConnection.Direct">
      <summary>Indicates whether Direct mode of communicating with server should be used. </summary>
      <remarks>When <see cref="P:Devart.Data.Oracle.OracleConnection.Direct" /> property is true, dotConnect for Oracle does not require Oracle client libraries installed. When a value is assigned to this property, the <see cref="T:Devart.Data.Oracle.OracleConnection" /> is closed. Refer to <a href="DirectMode.html">"Using Direct Mode"</a> article for detailed information. </remarks>
      <keywords>OracleConnection.Direct property </keywords>
      <value><see langword="true" />, if dotConnect for Oracle should interact with Oracle server directly; otherwise, <see langword="false" />. The default value is <see langword="false" />. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleConnection.EnlistTransaction(System.Transactions.Transaction)">
      <summary>Enlists in the specified transaction. </summary>
      <remarks><para>Once a connection is explicitly enlisted in a distributed transaction, it cannot be unenlisted or enlisted in another transaction until the first transaction finishes.</para>
<para>This feature is not available in Direct mode.</para> </remarks>
      <example>These samples demonstrate usage of <see cref="M:Devart.Data.Oracle.OracleConnection.EnlistTransaction(System.Transactions.Transaction)" />. <code lang="csharp">      oracleCommand1.Connection=oracleConnection1;
      using (TransactionScope transScope = new TransactionScope()) {
        oracleConnection1.Open();
        oracleCommand1.ExecuteNonQuery();
        transScope.Complete();
      }
      oracleConnection1.Close();

- or -

      oracleCommand1.Connection=oracleConnection1;
      oracleConnection1.Open();
      using (TransactionScope transScope = new TransactionScope()) {
        oracleConnection1.EnlistTransaction(Transaction.Current);
        oracleCommand1.ExecuteNonQuery();
        transScope.Complete();
      }
      oracleConnection1.Close();

- or -

      CommittableTransaction cmtTx = new CommittableTransaction();
      oracleConnection1.Open();
      oracleConnection1.EnlistTransaction(cmtTx);
      oracleCommand1.ExecuteNonQuery();
      oracleConnection1.Close(); </code><code lang="vb">      Me.oracleCommand1.Connection = Me.OracleConnection1
      Using transScope = New Transactions.TransactionScope
        Me.OracleConnection1.Open()
        Me.OracleCommand1.ExecuteNonQuery()
        transScope.Complete()
      End Using
      Me.OracleConnection1.Close()

- or -

      Me.oracleCommand1.Connection = Me.OracleConnection1
      Me.OracleConnection1.Open()
      Using transScope = New Transactions.TransactionScope
        Me.OracleConnection1.EnlistTransaction(Transactions.Transaction.Current)
        Me.OracleCommand1.ExecuteNonQuery()
        transScope.Complete()
      End Using
      Me.OracleConnection1.Close()

- or -

      Dim cmtTx As New Transactions.CommittableTransaction
      Me.OracleConnection1.Open()
      Me.OracleConnection1.EnlistTransaction(cmtTx)
      Me.oracleCommand1.ExecuteNonQuery()
      Me.OracleConnection1.Close() </code></example>
      <keywords>OracleConnection.EnlistTransaction method </keywords>
      <param name="transaction">A reference to an existing <b>System.Transactions.Transaction</b> in which to enlist. </param>
    </member>
    <member name="E:Devart.Data.Oracle.OracleConnection.Error">
      <summary>Occurs when Oracle returns an error message. </summary>
      <remarks><para>Clients that want to process errors raised by the server should create an <see cref="T:Devart.Data.Oracle.OracleConnectionErrorEventHandler" /> delegate to listen to this event.</para> </remarks>
      <keywords>OracleConnection.Error event </keywords>
    </member>
    <member name="E:Devart.Data.Oracle.OracleConnection.Failover">
      <summary>Occurs when Oracle Failover mechanism takes place. </summary>
      <remarks>Use this event to transparently reconnect to another Oracle server when the current server crashes. </remarks>
      <keywords>OracleConnection.Failover event </keywords>
    </member>
    <member name="M:Devart.Data.Oracle.OracleConnection.GetDatabaseInfo()">
      <summary>Gets <see cref="T:Devart.Data.Oracle.OracleGlobalization" /> settings for the current database. </summary>
      <keywords>OracleConnection.GetDatabaseInfo method </keywords>
      <returns>An <see cref="T:Devart.Data.Oracle.OracleGlobalization" /> object. </returns>
      <overloads>Gets <see cref="T:Devart.Data.Oracle.OracleGlobalization" /> settings for the current database. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleConnection.GetDatabaseInfo(Devart.Data.Oracle.OracleGlobalization)">
      <summary>Gets <see cref="T:Devart.Data.Oracle.OracleGlobalization" /> settings for the current database. </summary>
      <keywords>OracleConnection.GetDatabaseInfo method </keywords>
      <param name="oraGlob">An <see cref="T:Devart.Data.Oracle.OracleGlobalization" /> object. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleConnection.GetNativeHandle()">
      <summary>Gets a native handle for the <see cref="T:Devart.Data.Oracle.OracleConnection" />. </summary>
      <keywords>OracleConnection.GetNativeHandle method </keywords>
      <returns>A <see cref="T:System.Runtime.InteropServices.HandleRef" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleConnection.GetServerList()">
      <summary>Returns an array of available TNS aliases. </summary>
      <remarks>Use <see cref="M:Devart.Data.Oracle.OracleConnection.GetServerList()" /> function to read TNS aliases from TNSNAMES.ORA configuration file found in Oracle default home directory. </remarks>
      <example>The following example obtains and then prints list of the servers. <code lang="csharp">public void DisplayServerList()
{
  string[] serverList = OracleConnection.GetServerList();
  foreach (string server in serverList)
  Console.WriteLine(server);
} </code><code lang="vb">Public Sub DisplayServerList()
  Dim serverList As String() = OracleConnection.GetServerList()
  Dim server As String
  For Each server In  serverList
    Console.WriteLine(server)
  Next server
End Sub 'DisplayServerList </code></example>
      <keywords>OracleConnection.GetServerList method </keywords>
      <returns>An array of available TNS aliases. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleConnection.GetServerList(System.String)">
      <summary>Returns an array of available TNS aliases. </summary>
      <remarks>Use <see cref="M:Devart.Data.Oracle.OracleConnection.GetServerList(System.String)" /> function to read TNS aliases from TNSNAMES.ORA configuration file found in specified Oracle home directory. </remarks>
      <keywords>OracleConnection.GetServerList method </keywords>
      <param name="homeName">Name of the Oracle home to read TNS aliases from. </param>
      <returns>An array of available TNS aliases. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleConnection.GetSessionInfo()">
      <summary>Populates an <see cref="T:Devart.Data.Oracle.OracleGlobalization" /> object with client side information. </summary>
      <keywords>OracleConnection.GetSessionInfo method </keywords>
      <returns>A new <see cref="T:Devart.Data.Oracle.OracleGlobalization" /> object with the Oracle globalization settings. </returns>
      <overloads>Populates an <see cref="T:Devart.Data.Oracle.OracleGlobalization" /> object with client side information. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleConnection.GetSessionInfo(Devart.Data.Oracle.OracleGlobalization)">
      <summary>Populates an <see cref="T:Devart.Data.Oracle.OracleGlobalization" /> object with client side information. </summary>
      <keywords>OracleConnection.GetSessionInfo method </keywords>
      <param name="oraGlob">An <see cref="T:Devart.Data.Oracle.OracleGlobalization" /> object to be populated with the Oracle globalization settings. </param>
    </member>
    <member name="P:Devart.Data.Oracle.OracleConnection.Home">
      <summary>Gets or sets Oracle Home to be used. </summary>
      <remarks>Set <see cref="P:Devart.Data.Oracle.OracleConnection.Home" /> property to select what Oracle client will be used in your application. Use this property if there are some Oracle clients installed at the machine. If <see cref="P:Devart.Data.Oracle.OracleConnection.Home" /> property is empty dotConnect for Oracle uses default Home. You can change a value of the default home by Oracle Home Selector.
 </remarks>
      <keywords>OracleConnection.Home property </keywords>
      <value>An Oracle Home to be used. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleConnection.Homes">
      <summary>Gets the list of all available Oracle homes. </summary>
      <keywords>OracleConnection.Homes property </keywords>
      <value>The list of all available Oracle homes. </value>
    </member>
    <member name="E:Devart.Data.Oracle.OracleConnection.InfoMessage">
      <summary>Occurs when Oracle returns a warning or informational message. </summary>
      <remarks><para>Clients that want to process warnings or informational messages sent by the server should create an <see cref="T:Devart.Data.Oracle.OracleInfoMessageEventHandler" /> delegate to listen to this event.</para>
<para>
The <see cref="E:Devart.Data.Oracle.OracleConnection.InfoMessage" /> event receives an InfoMessageEventArgs object containing, in its Errors property, a collection of the messages from the data source. You can query the Error objects in this collection for the error number and message text, as well as the source of the error. There are also details about the database, stored procedure, and line number that the message came from.</para> </remarks>
      <example>The following example demostrates registering InfoMessage event handler that prints out the warning info. <code lang="csharp">class OracleInfoMessage {
	public static void WarningPrinter(object src,
		OracleInfoMessageEventArgs args)
	{
		Console.WriteLine("Source object is: " + src.GetType().Name);
		Console.WriteLine("InfoMessageArgs.Message is " + args.Message);
		Console.WriteLine("InfoMessageArgs.Source is " + args.Source);
	}
	static void Main()
	{
		OracleConnection con = new OracleConnection("User Id=scott;" +
			"Password=tiger;Data Source=ora1110;");

		con.Open();

		OracleCommand cmd = con.CreateCommand();

		// Register to the InfoMessageHandler
		cmd.Connection.InfoMessage +=
			new OracleInfoMessageEventHandler(WarningPrinter);

		cmd.CommandText = "CREATE OR REPLACE PACKAGE BODY PACKAGEWITHNOSPECIFICATION AS" +
			"PROCEDURE GET_ALL_DEPTS (cur OUT SYS_REFCURSOR) AS" +
			"BEGIN" +
			" OPEN cur FOR SELECT * FROM DEPT;" +
			"END;" +
			"END PACKAGEWITHNOSPECIFICATION;";

		// Execute the statement that produces a warning
		cmd.ExecuteNonQuery();

		// Clean up
		cmd.Dispose();
		con.Dispose();
	}
} </code><code lang="vb">Module Module1
	Public Sub WarningPrinter(ByVal src As Object, ByVal args As OracleInfoMessageEventArgs)
		Console.WriteLine("Source object is: " + src.GetType().Name)
		Console.WriteLine("InfoMessageArgs.Message is " + args.Message)
		Console.WriteLine("InfoMessageArgs.Source is " + args.Source)
	End Sub 'WarningPrinter
	Sub Main()
		Dim con As New OracleConnection("User Id=scott;Password=tiger;Data Source=ora1110;")
		con.Open()
		Dim cmd As OracleCommand = con.CreateCommand()
		' Register to the InfoMessageHandler
		AddHandler cmd.Connection.InfoMessage, _
		New OracleInfoMessageEventHandler(AddressOf WarningPrinter)
		'command.Connection.InfoMessage += New OracleInfoMessageEventHandler(WarningPrinter)
		cmd.CommandText = "CREATE OR REPLACE PACKAGE BODY PACKAGEWITHNOSPECIFICATION AS" &amp; _
			"PROCEDURE GET_ALL_DEPTS (cur OUT SYS_REFCURSOR) AS" &amp; _
			"BEGIN" &amp; _
			" OPEN cur FOR SELECT * FROM DEPT;" &amp; _
			"END;" &amp; _
			"END PACKAGEWITHNOSPECIFICATION;"
		' Execute the statement that produces a warning
		cmd.ExecuteNonQuery()

		' Clean up
		cmd.Dispose()
		con.Dispose()
	End Sub
End Module </code></example>
      <keywords>OracleConnection.InfoMessage event </keywords>
    </member>
    <member name="P:Devart.Data.Oracle.OracleConnection.Name">
      <summary>Gets or sets name of the component. </summary>
      <keywords>OracleConnection.Name property </keywords>
    </member>
    <member name="P:Devart.Data.Oracle.OracleConnection.NumberMappings">
      <summary>Gets or sets the collection of number mappings used for this connection. </summary>
      <remarks>Allows you to override default number mapping rules for the connection. Default value is an empty collection, which means to use default rules. </remarks>
      <example>This sample demonstrates how to override default number mapping rules. <code lang="csharp">OracleConnection oracleConnection = new OracleConnection();

// Map NUMBER(10)..NUMBER(18)  to Int64
oracleConnection.NumberMappings.Add(OracleNumberType.Integer, 10, 18, typeof(Int64)); 

// Map NUMBER(1)  to Boolean
oracleConnection.NumberMappings.Add(OracleNumberType.Integer, 1, typeof(bool)); </code><code lang="vb">Dim oracleConnection as New OracleConnection

' Map NUMBER(10)..NUMBER(18)  to Int64
oracleConnection.NumberMappings.Add(OracleNumberType.Integer, 10, 18, GetType(Int64))

' Map NUMBER(1)  to Boolean
oracleConnection.NumberMappings.Add(OracleNumberType.Integer, 1, GetType(Boolean)) </code></example>
      <seealso cref="T:Devart.Data.Oracle.OracleNumberMappingCollection" />
      <keywords>OracleConnection.NumberMappings property </keywords>
      <value>A <see cref="T:Devart.Data.Oracle.OracleNumberMappingCollection" /> object representing the number mappings. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleConnection.Open()">
      <summary>Opens a database connection with the property settings specified by the <see cref="P:Devart.Data.Oracle.OracleConnection.ConnectionString" />. </summary>
      <remarks>The <see cref="T:Devart.Data.Oracle.OracleConnection" /> draws an open connection from the connection pool if one is available. Otherwise, it establishes a new connection to the database.
<para>Note: If the <see cref="T:Devart.Data.Oracle.OracleConnection" /> goes out of scope, the connection it represents does not close automatically. Therefore, you must explicitly close the connection by calling <see cref="M:Devart.Common.DbConnectionBase.Close" />.</para><para>
Opening an open connection does nothing.
</para> </remarks>
      <example>The following example creates a <see cref="T:Devart.Data.Oracle.OracleConnection" />, opens it, displays some of its properties, and then closes the connection. <code lang="csharp">public void CreateOracleConnection(string myConnString)
{
  OracleConnection myConnection = new OracleConnection(myConnString);
  myConnection.Open();
  MessageBox.Show("ServerVersion: " + myConnection.ServerVersion
    + "\nState: " + myConnection.State.ToString());
  myConnection.Close();
} </code><code lang="vb">Public Sub CreateOracleConnection(myConnString As String)
  Dim myConnection As New OracleConnection(myConnString)
  myConnection.Open()
  MessageBox.Show("ServerVersion: " + myConnection.ServerVersion _
    + ControlChars.Cr + "State: " + myConnection.State.ToString())
  myConnection.Close()
End Sub </code></example>
      <seealso cref="M:Devart.Common.DbConnectionBase.Close" />
      <keywords>OracleConnection.Open method </keywords>
    </member>
    <member name="M:Devart.Data.Oracle.OracleConnection.Open(Devart.Data.Oracle.OracleConnection)">
      <summary>Opens connection with Proxy Authentication mechanism. </summary>
      <remarks><para>When you open a proxied connection, you do not need to specify username and password.</para>
<para>Do not mix this method of opening proxied connections with specifying proxy credentials in OCI Pool connection string.</para>
<para>Procy authentication is not supported in Direct mode.</para> </remarks>
      <keywords>OracleConnection.Open method </keywords>
      <param name="proxy">The established proxy connection to use. </param>
    </member>
    <member name="P:Devart.Data.Oracle.OracleConnection.Owner">
      <summary>Gets or sets a form or other container that the OracleConnection instance belongs to. </summary>
      <keywords>OracleConnection.Owner property </keywords>
    </member>
    <member name="P:Devart.Data.Oracle.OracleConnection.PassParametersByName">
      <summary>Determines whether parameters will be passed by name to the stored procedure calls. </summary>
      <remarks>If set to true, parameters will be passed by name regardless of individual OracleCommand.PassParametersByName values. </remarks>
      <keywords>OracleConnection.PassParametersByName property </keywords>
      <value><see langword="true" /> if parameters should be passed by name; otherwise, <see langword="false" />. The default value is <see langword="false" />. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleConnection.Password">
      <summary>Gets or sets the user's password to connect. </summary>
      <remarks>When a value is assigned to this property, the <see cref="T:Devart.Data.Oracle.OracleConnection" /> is closed.
<para> Leave this property blank if you want to use Integrated Security connections (OS authentication). The <see cref="P:Devart.Data.Oracle.OracleConnection.UserId" /> property must be empty as well.</para> </remarks>
      <example>The following example creates a <see cref="T:Devart.Data.Oracle.OracleConnection" /> and displays the password. <code lang="csharp">public void CreateOracleConnection()
{
  string myConnString = 
      "User Id=Scott;Password=tiger;Data Source=Ora";
  OracleConnection myConnection = new OracleConnection(myConnString);
  myConnection.Open();
  MessageBox.Show("Password: " + myConnection.Password.ToString());
  myConnection.Close();
} </code><code lang="vb">Public Sub CreateOracleConnection()
  Dim myConnString As String = _
    "User Id=Scott;Password=tiger;Data Source=Ora"
  Dim myConnection As New OracleConnection(myConnString)
  myConnection.Open()
  MessageBox.Show("Password: " + myConnection.Password.ToString())
  myConnection.Close()
End Sub </code></example>
      <seealso cref="P:Devart.Data.Oracle.OracleConnection.UserId" />
      <seealso cref="P:Devart.Data.Oracle.OracleConnection.ConnectionString" />
      <keywords>OracleConnection.Password property </keywords>
      <value>The user's password to connect. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleConnection.Ping()">
      <summary>Determines whether connection to Oracle server is valid. </summary>
      <remarks><para>If the application has an open connection for a long time, it is recommended to check whether the connection is still valid, before using it. Call of Ping method has single round trip on Oracle server.</para>
<para>It is not a good idea to keep a connection open for long time. Connection pool automatically pings all connections within, thus closing old connections and opening new ones is encouraged.</para>
<para>If the connection being pinged is not initialized or has the state other than ConnectionState.Open, the method throws an exception.</para> </remarks>
      <example>This code sample shows how to check for server availability before issuing a query. <code lang="csharp">public void ExecuteSafely(OracleConnection connection) 
{ 
	OracleCommand command = new OracleCommand("INSERT INTO Dept(DeptNo, DName) Values('50', 'DEVELOPMENT')");
	command.Connection = connection;
	try
	{
		if (connection.Ping())
		{
			command.ExecuteNonQuery();
			Console.WriteLine("Successfully executed");
		}
		else
		{
			connection.Close();
			Console.WriteLine("Unable to ping the server");
		}
	}
	catch
	{
		connection.Close();
		Console.WriteLine("Error during query execution");
	} 
} </code><code lang="vb">Public Sub ExecuteSafely(ByVal connection As OracleConnection)
	Dim command As New OracleCommand("INSERT INTO Dept(DeptNo, DName) Values('50', 'DEVELOPMENT')")
	command.Connection = connection
	Try
		If (connection.Ping()) Then
			command.ExecuteNonQuery()
			Console.WriteLine("Successfully executed")
		Else
			connection.Close()
			Console.WriteLine("Unable to ping the server")
		End If
	Catch
		connection.Close()
		Console.WriteLine("Error during query execution")
	End Try
End Sub </code></example>
      <keywords>OracleConnection.Ping method </keywords>
      <returns><see langword="true" />, if the connection is valid; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleConnection.Port">
      <summary>Gets or sets number of a port to communicate with listener on the server. </summary>
      <remarks>This <see cref="P:Devart.Data.Oracle.OracleConnection.Port" /> property is used only in <see cref="P:Devart.Data.Oracle.OracleConnection.Direct" /> mode. When a value is assigned to this property, the <see cref="T:Devart.Data.Oracle.OracleConnection" /> is closed. </remarks>
      <keywords>OracleConnection.Port property </keywords>
      <value>Number of a port to communicate with listener on the server. The default value is 1521. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleConnection.Rollback()">
      <summary>Rolls back a transaction from a pending state. </summary>
      <example>The following example demonstrates how to use <see cref="M:Devart.Data.Oracle.OracleConnection.Commit()" /> and <see cref="M:Devart.Data.Oracle.OracleConnection.Rollback()" /> methods. <code lang="csharp">public void RunOracleTransaction(string myConnString)
{
  OracleConnection myConnection = new OracleConnection(myConnString);
  myConnection.Open();

  OracleCommand myCommand = new OracleCommand();
  myConnection.BeginTransaction();
  try
  {
    myCommand.CommandText = "INSERT INTO Test.Dept(DeptNo, DName) Values(50, 'DEVELOPMENT')";
    myCommand.ExecuteNonQuery();
    myCommand.CommandText = "INSERT INTO Test.Dept(DeptNo, DName) Values(60, 'PRODUCTION')";
    myCommand.ExecuteNonQuery();
    myConnection.Commit();
    Console.WriteLine("Both records are written to database.");
  }
  catch(Exception e)
  {
    myConnection.Rollback();
    Console.WriteLine(e.ToString());
    Console.WriteLine("Neither record was written to database.");
  }
  finally
  {
    myConnection.Close();
  }
} </code><code lang="vb">Public Sub RunOracleTransaction(myConnString As String)
  Dim myConnection As New OracleConnection(myConnString)
  myConnection.Open()

  Dim myCommand As New OracleCommand()
  myConnection.BeginTransaction()
  Try
    myCommand.CommandText = "INSERT INTO Test.Dept(DeptNo, DName) Values(50, 'DEVELOPMENT')"
    myCommand.ExecuteNonQuery()
    myCommand.CommandText = "INSERT INTO Test.Dept(DeptNo, DName) Values(60, 'PRODUCTION')"
    myCommand.ExecuteNonQuery()
    myConnection.Commit()
    Console.WriteLine("Both records are written to database.")
  Catch e As Exception
    myConnection.Rollback()
    Console.WriteLine(e.ToString())
    Console.WriteLine("Neither record was written to database.")
  Finally
    myConnection.Close()
  End Try
End Sub </code></example>
      <seealso cref="M:Devart.Data.Oracle.OracleConnection.Commit" />
      <seealso cref="M:Devart.Data.Oracle.OracleConnection.BeginTransaction" />
      <keywords>OracleConnection.Rollback method </keywords>
    </member>
    <member name="P:Devart.Data.Oracle.OracleConnection.Server">
      <summary>Gets or sets the name of TNS alias of the Oracle database to which to connect. </summary>
      <remarks><para>In this property you can choose a Home to work with. Homes are enumerated in file named <i>tnsnames.ora</i>. You can use <see cref="P:Devart.Data.Oracle.OracleConnection.Server" /> property to specify the server detailed instead of alias:<br />
<i>(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = SERVER)(PORT = 1521))) (CONNECT_DATA = (SID = ORCL)))</i><br />
This is particularly useful for Instant Client, which can be used with <see cref="P:Devart.Data.Oracle.OracleConnection.Server" /> property set this way. dotConnect for Oracle searches for Instant Client in directories specified by PATH environment variable.</para>
<para>In <see cref="P:Devart.Data.Oracle.OracleConnection.Direct" /> mode this property represents host name or IP address of the database server.</para> </remarks>
      <example>The following example creates an <see cref="T:Devart.Data.Oracle.OracleConnection" /> and displays the server name. <code lang="csharp">public void CreateOraConnection()
{
  string myConnString = "User ID=scott; Password=tiger; Data Source=ora";
  OracleConnection myConnection = new OracleConnection(myConnString);
  myConnection.Open();
  MessageBox.Show("Server: " + myConnection.Server);
  myConnection.Close();
} </code><code lang="vb">Public Sub CreateOraConnection()
  Dim myConnString As String = _
    "User ID=scott; Password=tiger; Data Source=ora"
  Dim myConnection As New OracleConnection(myConnString)
  myConnection.Open()
  MessageBox.Show("Server: " + myConnection.Server)
  myConnection.Close()
End Sub </code></example>
      <seealso cref="P:Devart.Data.Oracle.OracleConnection.Database" />
      <seealso cref="P:Devart.Data.Oracle.OracleConnection.ConnectionString" />
      <keywords>OracleConnection.Server property </keywords>
      <value>The name of TNS alias of the Oracle database to which to connect. The default value is an empty string (""). </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleConnection.ServerVersion">
      <summary>Gets a string containing the version of the instance of Oracle to which the client is connected. </summary>
      <keywords>OracleConnection.ServerVersion property </keywords>
      <value>The version of the instance of Oracle. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleConnection.ServiceName">
      <summary>Gets or sets an alias to an Oracle database instance (or many instances)  to use in the OracleConnection.Direct mode. </summary>
      <remarks><para>This property is used only in <see cref="P:Devart.Data.Oracle.OracleConnection.Direct" /> mode. When a value is assigned to this property, the <see cref="T:Devart.Data.Oracle.OracleConnection" /> is closed.</para>

<para>When Service Name is specified and implies several database instances, dotConnect for Oracle connects to the first instance provided by Oracle listener. Note that RAC is not supported in the Direct mode, and provider works only with this one database instance.</para> </remarks>
      <keywords>OracleConnection.ServiceName property </keywords>
      <value>Alias to an Oracle database instance (or many instances)  to use in the OracleConnection.Direct mode. The default value is empty string. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleConnection.SetSessionInfo(Devart.Data.Oracle.OracleGlobalization)">
      <summary>Sets Oracle globalization settings for the current connection. </summary>
      <keywords>OracleConnection.SetSessionInfo method </keywords>
      <param name="oraGlob">An <see cref="T:Devart.Data.Oracle.OracleGlobalization" /> object. </param>
    </member>
    <member name="P:Devart.Data.Oracle.OracleConnection.Sid">
      <summary>Gets or sets a unique name for an Oracle database instance. </summary>
      <remarks>This <see cref="P:Devart.Data.Oracle.OracleConnection.Sid" /> property is used only in <see cref="P:Devart.Data.Oracle.OracleConnection.Direct" /> mode. When a value is assigned to this property, the <see cref="T:Devart.Data.Oracle.OracleConnection" /> is closed. </remarks>
      <keywords>OracleConnection.Sid property </keywords>
      <value>Unique name for an Oracle database instance to use in the OracleConnection.Direct mode. The default value is empty string. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleConnection.State">
      <summary>Gets the current state of the connection. </summary>
      <remarks>The allowed state changes are:
<list type="bullet"><item><description>From Closed to Open, using the <see cref="M:Devart.Data.Oracle.OracleConnection.Open()" /> method of the <see cref="T:Devart.Data.Oracle.OracleConnection" /> object.</description></item><item><description>From Open to Closed, using either the <see cref="M:Devart.Common.DbConnectionBase.Close()" /> method or the <see cref="M:Devart.Data.Oracle.OracleConnection.Dispose()" /> method of the <see cref="T:Devart.Data.Oracle.OracleConnection" /> object.</description></item></list> </remarks>
      <example>The following example creates an instance of a derived class, <see cref="T:Devart.Data.Oracle.OracleConnection" />, sets its <see cref="P:Devart.Data.Oracle.OracleConnection.ConnectionString" />, and displays its <see cref="P:Devart.Data.Oracle.OracleConnection.State" />. <code lang="csharp">public void CreateOracleConnection()
{
  OracleConnection myConnection = new OracleConnection();
  myConnection.ConnectionString = 
      "User Id=Scott;Password=tiger;Data Source=Ora";
  myConnection.Open();
  MessageBox.Show("Connection State: " + myConnection.State.ToString());
  myConnection.Close();
} </code><code lang="vb">Public Sub CreateOracleConnection()
  Dim myConnection As New OracleConnection()
  myConnection.ConnectionString = _
      "User Id=Scott;Password=tiger;Data Source=Ora"
  myConnection.Open()
  MessageBox.Show("Connection State: " + myConnection.State.ToString())
  myConnection.Close()
End Sub </code></example>
      <seealso cref="P:Devart.Data.Oracle.OracleConnection.ConnectionString" />
      <keywords>OracleConnection.State property </keywords>
      <value>A bitwise combination of the <see cref="T:System.Data.ConnectionState" /> values. The default value is Closed. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleConnection.TrimFixedChar">
      <summary>Specifies whether to trim trailing spaces when reading data from fixed-length string data types (CHAR, NCHAR). </summary>
      <remarks>Affects all command objects of this connection. Behaviour of data reader depends on <see cref="P:Devart.Data.Oracle.OracleConnection.TrimFixedChar" /> value at the moment of opening data reader. </remarks>
      <keywords>OracleConnection.TrimFixedChar property </keywords>
      <value><see langword="true" />, if  fixed-length string data type (CHAR, NCHAR) values should be trimmed; otherwise, <see langword="false" />. The default value is <see langword="true" />. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleConnection.Unicode">
      <summary>Gets or sets a value indicating whether the UTF16 charset will be used. </summary>
      <example>The following two functions demonstrate how to use <see cref="P:Devart.Data.Oracle.OracleConnection.Unicode" /> property to implement charset-safe string transfer. <code lang="csharp">public void UploadString(OracleConnection myConnection)
{
  myConnection.Unicode = true;
  OracleCommand myCommand = new OracleCommand("INSERT INTO Test.TextBlocks (BlockID, BlockName, BlockContent) VALUES(1,'First',:BlockText)", myConnection);
  myCommand.Parameters.Add("BlockText",OracleDbType.VarChar,50).Value = "Place here some text that requires Unicode support.";
  myConnection.Open();
  try
  {
    Console.WriteLine(myCommand.ExecuteNonQuery()+" rows affected.");
  }
  finally
  {
    myConnection.Close();
  }
}                                                                                                                                           

public void DownloadString(OracleConnection myConnection)
{
  myConnection.Unicode = true;
  OracleCommand myCommand = new OracleCommand("SELECT * FROM Test.TextBlocks", myConnection);
  myConnection.Open();
  OracleDataReader myReader = myCommand.ExecuteReader(CommandBehavior.Default);
  try
  {
    while (myReader.Read())
    {
      string myString = (string)myReader["BlockContent"];
      Console.WriteLine(myString);
    }
  }
  finally
  {
    myReader.Close();
    myConnection.Close();
  }
} </code><code lang="vb">Public Sub UploadString(ByVal myConnection As OracleConnection)
  myConnection.Unicode = True
  Dim myCommand As New OracleCommand("INSERT INTO Test.TextBlocks (BlockID, BlockName, BlockContent) VALUES(1,'First',:BlockText)", myConnection)
  myCommand.Parameters.Add("BlockText", OracleDbType.VarChar, 50).Value = "Place here some text that requires Unicode support."
  myConnection.Open()
  Try
    Console.WriteLine(String.Concat(myCommand.ExecuteNonQuery(), " rows affected."))
  Finally
    myConnection.Close()
  End Try
End Sub

Public Sub DownloadString(ByVal myConnection As OracleConnection)

  myConnection.Unicode = True
  Dim myCommand As New OracleCommand("SELECT * FROM Test.TextBlocks", myConnection)
  myConnection.Open()
  Dim myReader As OracleDataReader = myCommand.ExecuteReader(CommandBehavior.Default)
  Try
    While myReader.Read()
      Dim myString As String = CType(myReader("BlockContent"), String)
      Console.WriteLine(myString)
    End While
  Finally
    myReader.Close()
    myConnection.Close()
  End Try
End Sub </code></example>
      <seealso cref="P:Devart.Data.Oracle.OracleConnection.ConnectionString" />
      <keywords>OracleConnection.Unicode property </keywords>
      <value><see langword="true" />, if client charset UTF16 is used; <see langword="false" />, if default client charset is used. The default value is <see langword="false" />. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleConnection.UserId">
      <summary>Gets or sets the name of the user to connect. </summary>
      <remarks>When a value is assigned to this property, the <see cref="T:Devart.Data.Oracle.OracleConnection" /> is closed.
<para> Leave this property blank if you want to use Integrated Security connections (OS authentication). The <see cref="P:Devart.Data.Oracle.OracleConnection.Password" /> property must be empty as well.</para> </remarks>
      <example>The following example creates a <see cref="T:Devart.Data.Oracle.OracleConnection" /> and displays the user name. <code lang="csharp">public void CreateOracleConnection()
{
  string myConnString = 
      "User Id=Scott;Password=tiger;Data Source=Ora";
  OracleConnection myConnection = new OracleConnection(myConnString);
  myConnection.Open();
  MessageBox.Show("User: " + myConnection.UserId);
  myConnection.Close();
} </code><code lang="vb">Public Sub CreateOracleConnection()
  Dim myConnString As String = _
      "User Id=Scott;Password=tiger;Data Source=Ora"
  Dim myConnection As New OracleConnection(myConnString)
  myConnection.Open()
  MessageBox.Show("User: " + myConnection.UserId)
  myConnection.Close()
End Sub </code></example>
      <seealso cref="P:Devart.Data.Oracle.OracleConnection.Password" />
      <seealso cref="P:Devart.Data.Oracle.OracleConnection.ConnectionString" />
      <keywords>OracleConnection.UserId property </keywords>
      <value>The name of the user to connect. </value>
    </member>
    <member name="T:Devart.Data.Oracle.OracleConnectionErrorEventArgs">
      <summary>Provides data for the <see cref="E:Devart.Data.Oracle.OracleConnection.Error" /> event of the <see cref="T:Devart.Data.Oracle.OracleConnection" /> class. </summary>
      <remarks>The <see cref="E:Devart.Data.Oracle.OracleConnection.Error" /> event contains <see cref="P:Devart.Data.Oracle.OracleConnectionErrorEventArgs.Code" /> and <see cref="P:Devart.Data.Oracle.OracleConnectionErrorEventArgs.Message" /> properties sent from the data source. </remarks>
    </member>
    <member name="P:Devart.Data.Oracle.OracleConnectionErrorEventArgs.Code">
      <summary>Gets the Oracle specific error code. </summary>
      <remarks>You may use this property to obtain the Oracle error code. </remarks>
      <keywords>OracleConnectionErrorEventArgs.Code property </keywords>
      <value>Oracle specific error code. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleConnectionErrorEventArgs.Message">
      <summary>Gets the full text of the error sent from the Oracle database. </summary>
      <remarks>You can use this property to obtain the Oracle error message. </remarks>
      <keywords>OracleConnectionErrorEventArgs.Message property </keywords>
      <value>Message that Oracle returns with the error. </value>
    </member>
    <member name="T:Devart.Data.Oracle.OracleConnectionErrorEventHandler">
      <summary>Represents the method that will handle the <see cref="E:Devart.Data.Oracle.OracleConnection.Error" /> event of an <see cref="T:Devart.Data.Oracle.OracleConnection" />. </summary>
      <remarks>When you create an <see cref="T:Devart.Data.Oracle.OracleConnectionErrorEventHandler" /> delegate, you identify the method that will handle the event. To associate the event with your event handler, add an instance of the delegate to the event. The event handler is called whenever the event occurs, unless you remove the delegate. For more information about event handler delegates, see "Events and Delegates" in the .NET Framework SDK documentation. </remarks>
      <keywords>OracleConnectionErrorEventHandler delegate </keywords>
      <param name="sender">The source of the event. </param>
      <param name="e">An <see cref="T:Devart.Data.Oracle.OracleConnectionErrorEventArgs" /> object that contains the event data. </param>
    </member>
    <member name="T:Devart.Data.Oracle.OracleConnectionStringBuilder">
      <summary>Generates automatically connection strings used to connect to an Oracle database. </summary>
      <remarks>The <see cref="T:Devart.Data.Oracle.OracleConnectionStringBuilder" /> allows you to construct a connection string by assigning values to corresponding properties. After you have initialized all connection properties you need, use <see cref="P:Devart.Data.Oracle.OracleConnectionStringBuilder.ConnectionString" /> property or <b>ToString</b> method to obtain the connection string built. </remarks>
      <example>This sample shows how to construct a connection string and pass it to <see cref="T:Devart.Data.Oracle.OracleConnection" /> object. <code lang="csharp">public void UseConnectionStringBuilder()
{
	OracleConnectionStringBuilder myCSB = new OracleConnectionStringBuilder();
	oraCSB.Direct = true;
	oraCSB.Server = "192.168.0.1";
	oraCSB.Port = 1521;
	oraCSB.Sid = "OracleSid";
	oraCSB.UserId = "scott";
	oraCSB.Password = "tiger";
	oraCSB.MaxPoolSize = 150;
	oraCSB.ConnectionTimeout = 30;
	OracleConnection myConnection = new OracleConnection(myCSB.ConnectionString);
	myConnection.Open();
	Console.WriteLine(myConnection.ServerVersion);
	myConnection.Close();
} </code><code lang="vb">Public Sub UseConnectionStringBuilder()
	Dim myCSB As OracleConnectionStringBuilder = New OracleConnectionStringBuilder
	oraCSB.Direct = true
	oraCSB.Server = "192.168.0.1"
	oraCSB.Port = 1521
	oraCSB.Sid = "OracleSid"
	oraCSB.UserId = "scott"
	oraCSB.Password = "tiger"
	oraCSB.MaxPoolSize = 150
	oraCSB.ConnectionTimeout = 30
	Dim myConnection As OracleConnection = New OracleConnection(myCSB.ConnectionString)
		myConnection.Open()
	Console.WriteLine(myConnection.ServerVersion)
	myConnection.Close()
End Sub </code></example>
      <seealso cref="P:Devart.Data.Oracle.OracleConnection.ConnectionString" />
    </member>
    <member name="M:Devart.Data.Oracle.OracleConnectionStringBuilder.#ctor()">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleConnectionStringBuilder" /> class. </summary>
      <remarks>When a new instance of <see cref="T:Devart.Data.Oracle.OracleConnectionStringBuilder" /> is created, its properties are set to the following initial values:
<list type="table"><listheader><term>Properties</term><description>Initial Value</description></listheader><item><term><see cref="P:Devart.Data.Oracle.OracleConnectionStringBuilder.ConnectionString" /></term><description>empty string ("")</description></item><item><term><see cref="P:Devart.Data.Oracle.OracleConnectionStringBuilder.ConnectionTimeout" /></term><description>15</description></item>

  <item><term><see cref="P:Devart.Data.Oracle.OracleConnectionStringBuilder.Password" /></term><description>empty string ("")</description></item>

  <item><term><see cref="P:Devart.Data.Oracle.OracleConnectionStringBuilder.UserId" /></term><description>empty string ("")</description></item></list> </remarks>
      <overloads>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleConnectionStringBuilder" /> class. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleConnectionStringBuilder.#ctor(System.String)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleConnectionStringBuilder" /> class and assigns custom initial values to some properties. </summary>
      <remarks>When a new instance of <see cref="T:Devart.Data.Oracle.OracleConnectionStringBuilder" /> is created, its properties are set to the following initial values unless they are specifically set using their associated keywords in the <paramref name="connectionString" /> parameter.
<list type="table"><listheader><term>Properties</term><description>Initial Value</description></listheader><item><term><see cref="P:Devart.Data.Oracle.OracleConnectionStringBuilder.ConnectionString" /></term><description>empty string ("")</description></item><item><term><see cref="P:Devart.Data.Oracle.OracleConnectionStringBuilder.ConnectionTimeout" /></term><description>15</description></item>

  <item><term><see cref="P:Devart.Data.Oracle.OracleConnectionStringBuilder.Password" /></term><description>empty string ("")</description></item>

  <item><term><see cref="P:Devart.Data.Oracle.OracleConnectionStringBuilder.UserId" /></term><description>empty string ("")</description></item></list>
If the <paramref name="connectionString" /> parameter can not be parsed, an exception is thrown and the object is not created. </remarks>
      <param name="connectionString">Initial connection setup string. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleConnectionStringBuilder.Clear()">
      <summary>Sets all <see cref="T:Devart.Data.Oracle.OracleConnectionStringBuilder" /> properties to default values. </summary>
      <keywords>OracleConnectionStringBuilder.Clear method </keywords>
    </member>
    <member name="P:Devart.Data.Oracle.OracleConnectionStringBuilder.ConnectMode">
      <summary>Gets or sets whether to open a session with default or administrative privileges. </summary>
      <keywords>OracleConnectionStringBuilder.ConnectMode property </keywords>
      <value>One of <see cref="T:Devart.Data.Oracle.OracleConnectMode" /> values </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleConnectionStringBuilder.ConnectionClass">
      <summary>Gets or sets the connection class used for database resident connection pooling. </summary>
      <keywords>OracleConnectionStringBuilder.ConnectionClass property </keywords>
      <value>The connection class used for database resident connection pooling. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleConnectionStringBuilder.ConnectionLifetime">
      <summary>Gets or sets time span in seconds for connection to live. </summary>
      <remarks>When a connection is returned to the pool, its creation time is compared with the current time, and the connection is destroyed if that time span (in seconds) exceeds the value specified by Connection Lifetime. The default value is 0 (connection always returns to pool). </remarks>
      <keywords>OracleConnectionStringBuilder.ConnectionLifetime property </keywords>
      <value>Number of seconds for connection to live. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleConnectionStringBuilder.ConnectionTimeout">
      <summary>Gets or sets the time to wait while trying to establish a connection before terminating the attempt and generating an error. </summary>
      <remarks>A value of 0 indicates no limit, and should be avoided, because an attempt to connect will wait indefinitely.
<para>Available in Direct mode only.</para> </remarks>
      <keywords>OracleConnectionStringBuilder.ConnectionTimeout property </keywords>
      <value>The time (in seconds) to wait for a connection to open. The default value is 15 seconds. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleConnectionStringBuilder.ContainsKey(System.String)">
      <summary>Indicates whether specified key is set in the <see cref="T:Devart.Data.Oracle.OracleConnectionStringBuilder" /> object. </summary>
      <keywords>OracleConnectionStringBuilder.ContainsKey method </keywords>
      <param name="keyword">Key to search for. </param>
      <returns>
        <see langword="true" />, if the value of the specified key differs from default; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleConnectionStringBuilder.DefaultCommandTimeout">
      <summary>Gets or sets the time in seconds to wait while trying to execute a command before terminating the attempt and generating an error. </summary>
      <remarks>A value of 0 indicates no limit. The default value is 0. </remarks>
      <keywords>OracleConnectionStringBuilder.DefaultCommandTimeout property </keywords>
      <value>The time in seconds to wait while trying to execute a command before terminating the attempt and generating an error. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleConnectionStringBuilder.Direct">
      <summary>Indicates whether Direct mode of communicating with server should be used. </summary>
      <remarks>When <see cref="P:Devart.Data.Oracle.OracleConnection.Direct" /> property is true, dotConnect for Oracle does not require Oracle client libraries installed. </remarks>
      <keywords>OracleConnectionStringBuilder.Direct property </keywords>
      <value><see langword="true" />, if dotConnect for Oracle should interact with Oracle server directly; otherwise, <see langword="false" />. The default value is <see langword="false" />. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleConnectionStringBuilder.Enlist">
      <summary>Gets or sets a Boolean value that indicates whether the connection is automatically enlisted in the current transaction context. </summary>
      <remarks><para>This property corresponds to the "Enlist" key within the connection string. The default value is true. This property is not available in Mobile Edition.</para> </remarks>
      <keywords>OracleConnectionStringBuilder.Enlist property </keywords>
      <value><see langword="true" />, if the connection is automatically enlisted in the current transaction context; <see langword="false" /> otherwise. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleConnectionStringBuilder.EquivalentTo(Devart.Common.DbConnectionStringBuilder,System.Boolean)">
      <summary>Returns a value indicating whether this <see cref="T:Devart.Data.Oracle.OracleConnectionStringBuilder" /> object has same parameters as given <b>DbConnectionStringBuilder</b> object. </summary>
      <remarks>Use <see cref="M:Devart.Data.Oracle.OracleConnectionStringBuilder.EquivalentTo" /> to quickly compare two <b>DbConnectionStringBuilder</b> objects.
If you need to check only the main connection properties, ensuring that you login to the same place with the same user, set <paramref name="loginOnly" /> to <see langword="true" />. </remarks>
      <keywords>OracleConnectionStringBuilder.EquivalentTo method </keywords>
      <param name="connectionStringBuilder">A <b>DbConnectionStringBuilder</b> object to compare with. </param>
      <param name="loginOnly">
If <see langword="true" />,only the following properties are compared: UserId, Password,  and Server. </param>
      <returns>
        <see langword="true" />, if the two objects have same parameters; otherwise, <see langword="false" />. </returns>
      <overloads>Returns a value indicating whether this <see cref="T:Devart.Data.Oracle.OracleConnectionStringBuilder" /> has same parameters as given <b>DbConnectionStringBuilder</b>. </overloads>
    </member>
    <member name="P:Devart.Data.Oracle.OracleConnectionStringBuilder.Home">
      <summary>Gets or sets which Oracle Home to use. </summary>
      <remarks>Set <see cref="P:Devart.Data.Oracle.OracleConnection.Home" /> property to select what Oracle client will be used in your application. Use this property if there are some Oracle clients installed at the machine. If <see cref="P:Devart.Data.Oracle.OracleConnection.Home" /> property is empty dotConnect for Oracle uses default Home. You can change a value of the default home by Oracle Home Selector.
 </remarks>
      <keywords>OracleConnectionStringBuilder.Home property </keywords>
      <value>An Oracle Home to be used. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleConnectionStringBuilder.IsFixedSize">
      <summary>Returns <see langword="true" />. </summary>
      <remarks>The value of this property is always <see langword="true" /> because connection string can consist of fixed number of keys. </remarks>
      <keywords>OracleConnectionStringBuilder.IsFixedSize property </keywords>
      <value>Always <see langword="true" />. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleConnectionStringBuilder.Item(System.String)">
      <summary>Returns the value of given key. </summary>
      <keywords>OracleConnectionStringBuilder.Item property </keywords>
      <param name="keyword">The key name. </param>
      <value>Value of given key. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleConnectionStringBuilder.Keys">
      <summary>Collection of keys in the <see cref="T:Devart.Data.Oracle.OracleConnectionStringBuilder" />. </summary>
      <remarks>
        <see cref="T:Devart.Data.Oracle.OracleConnectionStringBuilder" /> contains two collections: <see cref="P:Devart.Data.Oracle.OracleConnectionStringBuilder.Keys" /> and <see cref="P:Devart.Data.Oracle.OracleConnectionStringBuilder.Values" />. Collection items with the same index contain key-value pairs. Use these collections to get indexed access to properties and values of <see cref="T:Devart.Data.Oracle.OracleConnectionStringBuilder" />. </remarks>
      <seealso cref="P:Devart.Data.Oracle.OracleConnectionStringBuilder.Values" />
      <keywords>OracleConnectionStringBuilder.Keys property </keywords>
      <value>Collection of keys. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleConnectionStringBuilder.MaxPoolSize">
      <summary>The maximum number of connections allowed in the pool. </summary>
      <remarks>Setting the Max Pool Size value of the ConnectionString can affect performance. </remarks>
      <keywords>OracleConnectionStringBuilder.MaxPoolSize property </keywords>
      <value>Number of connections allowed in the pool. The default value is 100. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleConnectionStringBuilder.MinPoolSize">
      <summary>The minimum number of connections allowed in the pool. </summary>
      <keywords>OracleConnectionStringBuilder.MinPoolSize property </keywords>
      <value>Number of connections allowed in the pool. The default value is 0. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleConnectionStringBuilder.NumberMappings">
      <summary>Gets or sets the collection of number mappings used for this connection. </summary>
      <remarks>Allows yu to override default number mapping rules for the connection. Default value is an empty collection, which means to use default rules. </remarks>
      <example>This sample demonstrates how to override default number mapping rules. <code lang="csharp">OracleConnection oracleConnection = new OracleConnection();

// Map NUMBER(10)..NUMBER(18)  to Int64
oracleConnection.NumberMappings.Add(OracleNumberType.Integer, 10, 18, typeof(Int64)); 

// Map NUMBER(1)  to Boolean
oracleConnection.NumberMappings.Add(OracleNumberType.Integer, 1, typeof(bool)); </code><code lang="vb">Dim oracleConnection as New OracleConnection

' Map NUMBER(10)..NUMBER(18)  to Int64
oracleConnection.NumberMappings.Add(OracleNumberType.Integer, 10, 18, GetType(Int64))

' Map NUMBER(1)  to Boolean
oracleConnection.NumberMappings.Add(OracleNumberType.Integer, 1, GetType(Boolean)) </code></example>
      <seealso cref="T:Devart.Data.Oracle.OracleNumberMappingCollection" />
      <keywords>OracleConnectionStringBuilder.NumberMappings property </keywords>
      <value>A <see cref="T:Devart.Data.Oracle.OracleNumberMappingCollection" /> object representing the number mappings. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleConnectionStringBuilder.OciSessionPoolAllowWaiting">
      <summary>Enables or disables waiting for a connection to close when there is no free connection. </summary>
      <keywords>OracleConnectionStringBuilder.OciSessionPoolAllowWaiting property </keywords>
      <value>If <see langword="true" />, new connections wait for an existing one to close if <b>Max Size</b> is reached; otherwise an exception is thrown. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleConnectionStringBuilder.OciSessionPoolConnectionLifetime">
      <summary>Gets or sets the connection lifetime in the OCI pool. </summary>
      <remarks>This attribute specifies the lifetime of the connection in seconds. Before the Connection is placed back into the pool, the lifetime of the connection is checked. If the lifetime of the connection exceeds this property value, the connection is closed and disposed. If this property value is 0, the connection lifetime is never checked. </remarks>
      <keywords>OracleConnectionStringBuilder.OciSessionPoolConnectionLifetime property </keywords>
      <value>The connection lifetime. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleConnectionStringBuilder.OciSessionPoolIncrement">
      <summary>Specifies the number of sessions that are added at once. </summary>
      <keywords>OracleConnectionStringBuilder.OciSessionPoolIncrement property </keywords>
      <value>The next increment for sessions to be started if the current number of sessions is less than <see cref="P:Devart.Data.Oracle.OracleConnectionStringBuilder.OciSessionPoolMaxSize" />. The valid values are 1 and above. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleConnectionStringBuilder.OciSessionPoolMaxSize">
      <summary>Specifies the maximum number of sessions that can be opened in the session pool. </summary>
      <keywords>OracleConnectionStringBuilder.OciSessionPoolMaxSize property </keywords>
      <value>The maximum number of sessions. Once this value is reached, no more sessions are opened. The valid values are 1 and above. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleConnectionStringBuilder.OciSessionPoolMinSize">
      <summary>Specifies the minimum number of sessions in the session pool. </summary>
      <keywords>OracleConnectionStringBuilder.OciSessionPoolMinSize property </keywords>
      <value>The minimum number of sessions. This number of sessions are started initially. After this, sessions are opened only when necessary. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleConnectionStringBuilder.OciSessionPoolPassword">
      <summary>Gets or sets password for proxy connections. </summary>
      <keywords>OracleConnectionStringBuilder.OciSessionPoolPassword property </keywords>
      <value>If set, defines password for proxy user. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleConnectionStringBuilder.OciSessionPoolUserId">
      <summary>Gets or sets User Id for proxy connections. </summary>
      <remarks>This property is available only when OCI Session Pooling is enabled. If you want to have proxy connections without OCI Session Pooling, use the <see cref="M:Devart.Data.Oracle.OracleConnection.Open(Devart.Data.Oracle.OracleConnection)" /> overload that accepts another <see cref="T:Devart.Data.Oracle.OracleConnection" /> as argument. </remarks>
      <keywords>OracleConnectionStringBuilder.OciSessionPoolUserId property </keywords>
      <value>If set, defines user name for proxy user. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleConnectionStringBuilder.OciSessionPooling">
      <summary>Enables or disables the OCI Session Pooling feature. </summary>
      <keywords>OracleConnectionStringBuilder.OciSessionPooling property </keywords>
      <value>If <see langword="true" />, enables the OCI Session Pooling feature. In this mode the dotConnect for Oracle pool is disabled. The default value is <see langword="false" />. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleConnectionStringBuilder.OraMts">
      <summary>Determines whether to use Oracle Services for Microsoft Transaction Server (OraMTS) for distributed transactions. </summary>
      <keywords>OracleConnectionStringBuilder.OraMts property </keywords>
      <value><see langword="true" />, if Oracle Services for Microsoft Transaction Server (OraMTS) should be used for distributed transactions; otherwise <see langword="false" />. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleConnectionStringBuilder.PassParametersByName">
      <summary>Determines whether parameters will be passed by name to the stored procedure calls. </summary>
      <remarks>If set to true, parameters will be passed by name regardless of individual OracleCommand.PassParametersByName values. </remarks>
      <keywords>OracleConnectionStringBuilder.PassParametersByName property </keywords>
      <value><see langword="true" /> if parameters should be passed by name; otherwise, <see langword="false" />. The default value is <see langword="false" />. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleConnectionStringBuilder.Password">
      <summary>Gets or sets the user's password to connect. </summary>
      <keywords>OracleConnectionStringBuilder.Password property </keywords>
      <value>The user's password to connect. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleConnectionStringBuilder.PersistSecurityInfo">
      <summary>Gets or sets a value indicating whether password is stored in connection string after connection is opened. </summary>
      <keywords>OracleConnectionStringBuilder.PersistSecurityInfo property </keywords>
      <value>If <see langword="true" />, <see cref="P:Devart.Data.Oracle.OracleConnection.ConnectionString" /> remains unaltered after opening connection; otherwise, password is removed. The default value is <see langword="false" />. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleConnectionStringBuilder.Pooling">
      <summary>Gets or sets pooling mode. </summary>
      <keywords>OracleConnectionStringBuilder.Pooling property </keywords>
      <value>If <see langword="true" />, by default, the <see cref="T:Devart.Data.Oracle.OracleConnection" /> object is drawn from the appropriate pool or is created and added to the appropriate pool. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleConnectionStringBuilder.Port">
      <summary>Gets or sets number of a port to communicate with listener on the server. </summary>
      <remarks>This <see cref="P:Devart.Data.Oracle.OracleConnectionStringBuilder.Port" /> property is used only in <see cref="P:Devart.Data.Oracle.OracleConnection.Direct" /> mode. </remarks>
      <keywords>OracleConnectionStringBuilder.Port property </keywords>
      <value>Number of a port to communicate with listener on the server. The default value is 1521. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleConnectionStringBuilder.Remove(System.String)">
      <summary>Sets value of the specified key to default. </summary>
      <keywords>OracleConnectionStringBuilder.Remove method </keywords>
      <param name="keyword">The key to clear. </param>
      <returns>
        <see langword="true" />, if operation is successfull; <see langword="false" /> otherwise. </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleConnectionStringBuilder.Server">
      <summary>Gets or sets the name of TNS alias of the Oracle database to which to connect. </summary>
      <keywords>OracleConnectionStringBuilder.Server property </keywords>
      <value>The name of TNS alias of the Oracle database to which to connect. The default value is an empty string (""). </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleConnectionStringBuilder.ServiceName">
      <summary>Gets or sets an alias to an Oracle database instance (or many instances)  to use in the OracleConnection.Direct mode. </summary>
      <remarks><para>This property is used only in <see cref="P:Devart.Data.Oracle.OracleConnection.Direct" /> mode. When a value is assigned to this property, the <see cref="T:Devart.Data.Oracle.OracleConnection" /> is closed.</para>

<para>When Service Name is specified and implies several database instances, dotConnect for Oracle connects to the first instance provided by Oracle listener. Note that RAC is not supported in the Direct mode, and provider works only with this one database instance.</para> </remarks>
      <keywords>OracleConnectionStringBuilder.ServiceName property </keywords>
      <value>Alias to an Oracle database instance (or many instances)  to use in the OracleConnection.Direct mode. The default value is empty string. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleConnectionStringBuilder.ShouldSerialize(System.String)">
      <summary>Determines whether the key will be serialized if required. </summary>
      <keywords>OracleConnectionStringBuilder.ShouldSerialize method </keywords>
      <param name="keyword">Key name to inquiry. </param>
      <returns>
        <see langword="true" />, if the key will be serialized; <see langword="false" /> otherwise. </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleConnectionStringBuilder.Sid">
      <summary>Gets or sets a unique name for an Oracle database instance. </summary>
      <remarks>This <see cref="P:Devart.Data.Oracle.OracleConnection.Sid" /> property is used only in <see cref="P:Devart.Data.Oracle.OracleConnection.Direct" /> mode. When a value is assigned to this property, the <see cref="T:Devart.Data.Oracle.OracleConnection" /> is closed. </remarks>
      <keywords>OracleConnectionStringBuilder.Sid property </keywords>
      <value>Unique name for an Oracle database instance to use in the OracleConnection.Direct mode. The default value is empty string. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleConnectionStringBuilder.StatementCacheSize">
      <summary>Gets or sets the maximum number of statements that can be cached for a connection. </summary>
      <remarks>Statement caching starts if this parameter is set to a value more than 0. It should not be more than MAX_OPEN_CURSORS parameter in an Oracle database. </remarks>
      <keywords>OracleConnectionStringBuilder.StatementCacheSize property </keywords>
      <value>The maximum number of statements that can be cached for a connection. Default value is 0 (statement caching is disabled). </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleConnectionStringBuilder.TransactionScopeLocal">
      <summary>Enables support for non-distributed transactions in the TransactionScope implementation. </summary>
      <remarks>This feature means that if there are several connections with the same connection string (which includes "Transaction Scope Local=true;") within a scope of TransactionScope, our provider will use only one connection internally. The default value is <see langword="false" />. This property is not available in Mobile Edition. </remarks>
      <keywords>OracleConnectionStringBuilder.TransactionScopeLocal property </keywords>
      <value><see langword="true" />, if one-phase commit is used within TransactionScope; <see langword="false" /> otherwise. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleConnectionStringBuilder.TrimFixedChar">
      <summary>Specifies whether to trim trailing spaces when reading data from fixed-length string data types (CHAR, NCHAR). </summary>
      <remarks>Affects all command objects of this connection. Behaviour of data reader depends on <see cref="P:Devart.Data.Oracle.OracleConnection.TrimFixedChar" /> value at the moment of opening data reader. </remarks>
      <keywords>OracleConnectionStringBuilder.TrimFixedChar property </keywords>
      <value><see langword="true" />, if  fixed-length string data type (CHAR, NCHAR) values should be trimmed; otherwise, <see langword="false" />. The default value is <see langword="true" />. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleConnectionStringBuilder.TryGetValue(System.String,System.Object@)">
      <summary>Attempts to get a key value. </summary>
      <keywords>OracleConnectionStringBuilder.TryGetValue method </keywords>
      <param name="keyword">Key name to obtain the value. </param>
      <param name="value">Value of the key. If operation fails, the value is null. </param>
      <returns>
        <see langword="true" /> if the operation is successfull; <see langword="false" /> otherwise. </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleConnectionStringBuilder.Unicode">
      <summary>Gets or sets a value indicating whether the UTF16 charset will be used. </summary>
      <remarks>Sets Oracle server client charset to UTF16 and converts client data according to this charset. </remarks>
      <keywords>OracleConnectionStringBuilder.Unicode property </keywords>
      <value><see langword="true" />, if client charset UTF16 is used; <see langword="false" />, if default client charset is used. The default value is <see langword="false" />. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleConnectionStringBuilder.UserId">
      <summary>Gets or sets the name of the user to connect. </summary>
      <keywords>OracleConnectionStringBuilder.UserId property </keywords>
      <value>The name of the user to connect. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleConnectionStringBuilder.ValidateConnection">
      <summary>Indicates whether to validate connections that are being taken from the pool. </summary>
      <remarks><para>If true, each time when a connection is taken from the pool, it is checked for validity. If the connection is not valid, it is destroyed and a new one is created. </para>

<para>If this parameter is true, the connection pool manager background validation is disabled in this case as it is not needed. In such case we always have a valid connection, however the performance is not optimal.</para>

<para>This behaviour may be useful when the physical connection is unstable and connectiopn can be lost in a short period of time. Pool manager validates pool connections every 30 seconds, so it is possible that connection will become invalid during this interval and the application will take it from the pool before the validation. If the physical connection is stable, pool manager validation is enough to ensure that the connection is valid, so it is better not to use this property. Use this property only if necessary because it causes a round-trip to the database to validate each connection immediately before it is provided to the application.</para> </remarks>
      <keywords>OracleConnectionStringBuilder.ValidateConnection property </keywords>
      <value><see langword="true" />, if the connection should be validated when it is taken from the pool; <see langword="false" /> otherwise. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleConnectionStringBuilder.Values">
      <summary>Collection of values in the <see cref="T:Devart.Data.Oracle.OracleConnectionStringBuilder" />. </summary>
      <remarks>
        <see cref="T:Devart.Data.Oracle.OracleConnectionStringBuilder" /> contains two collections: <see cref="P:Devart.Data.Oracle.OracleConnectionStringBuilder.Keys" /> and <see cref="P:Devart.Data.Oracle.OracleConnectionStringBuilder.Values" />. Collection items with the same index contain key-value pairs. Use these collections to get indexed access to properties and values of <see cref="T:Devart.Data.Oracle.OracleConnectionStringBuilder" />. </remarks>
      <seealso cref="P:Devart.Data.Oracle.OracleConnectionStringBuilder.Keys" />
      <keywords>OracleConnectionStringBuilder.Values property </keywords>
      <value>Collection of values. </value>
    </member>
    <member name="T:Devart.Data.Oracle.OracleCursor">
      <summary>Represents an Oracle REF CURSOR and value of cursor field. </summary>
      <remarks><para>You can get cursor as a parameter value by <see cref="P:Devart.Common.DbParameterBase.Value" /> property or by calling <see cref="M:Devart.Data.Oracle.OracleDataReader.GetOracleCursor" /> method of the <see cref="T:Devart.Data.Oracle.OracleDataReader" /> object.</para>
<para>You can use cursor to obtain <see cref="T:Devart.Data.Oracle.OracleDataReader" /> object and read data from it. The <see cref="T:Devart.Data.Oracle.OracleDataReader" /> can be retrieved only once.</para> </remarks>
      <example><para>The following example uses OracleCursor class as the type of output parameter. It demonstrates how to retrieve Oracle REF CURSOR from server, obtain OracleDataReader object and read data from it. To create required stored procedure, table and fill it with data you can use the following script:</para>
<pre>
DROP TABLE DEPT;

CREATE TABLE DEPT (
  DEPTNO NUMBER(4) CONSTRAINT PK_DEPT PRIMARY KEY,
  DNAME VARCHAR2(14) ,
  LOC VARCHAR2(13)
);

INSERT INTO DEPT VALUES (10,'ACCOUNTING','NEW YORK');
INSERT INTO DEPT VALUES (20,'RESEARCH','DALLAS');
INSERT INTO DEPT VALUES (30,'SALES','CHICAGO');
INSERT INTO DEPT VALUES (40,'OPERATIONS','BOSTON');

CREATE OR REPLACE PROCEDURE GET_DEPT(CUR OUT SYS_REFCURSOR)
IS
BEGIN
  OPEN CUR FOR SELECT * FROM DEPT;
END;
</pre> <code lang="csharp">public void GettingCursor(string connStr) {
	OracleConnection conn = new OracleConnection(connStr);
	conn.Open();
	try {
		OracleCommand command = conn.CreateCommand();
		command.CommandType = System.Data.CommandType.StoredProcedure;
		command.CommandText = "GET_DEPT";
		command.Parameters.Add("cursor", OracleDbType.Cursor);
		command.Parameters["cursor"].Direction = System.Data.ParameterDirection.Output;
		command.ExecuteNonQuery();
		OracleDataReader reader = ((OracleCursor)command.Parameters["cursor"].Value).GetDataReader();
		while (reader.Read()) {
			Console.WriteLine(reader.GetInt32(0) + ", " + reader.GetString(reader.GetOrdinal("DName")));
		}
	}
	catch (OracleException ex) {
		Console.WriteLine(ex.Message);
	}
	finally {
		conn.Close();
	}
} </code><code lang="vb">Public Sub GettingCursor(ByVal connStr As String)
	Dim conn As New OracleConnection(connStr)
	conn.Open()
	Try
		Dim command As OracleCommand = conn.CreateCommand()
		command.CommandType = System.Data.CommandType.StoredProcedure
		command.CommandText = "GET_DEPT"
		command.Parameters.Add("cursor", OracleDbType.Cursor)
		command.Parameters("cursor").Direction = System.Data.ParameterDirection.Output
		command.ExecuteNonQuery()
		Dim reader As OracleDataReader = (CType(command.Parameters("cursor").Value, OracleCursor)).GetDataReader()
		While reader.Read()
			Console.WriteLine(reader.GetInt32(0).ToString() + ", " + reader.GetString(reader.GetOrdinal("DName")))
		End While
	Catch ex As OracleException
		Console.WriteLine(ex.Message)
	Finally
		conn.Close()
	End Try
End Sub </code></example>
    </member>
    <member name="M:Devart.Data.Oracle.OracleCursor.Close()">
      <summary>Closes server cursor. </summary>
      <keywords>OracleCursor.Close method </keywords>
    </member>
    <member name="P:Devart.Data.Oracle.OracleCursor.Connection">
      <summary>Gets the <see cref="T:Devart.Data.Oracle.OracleConnection" /> used by the <see cref="T:Devart.Data.Oracle.OracleCursor" />. </summary>
      <keywords>OracleCursor.Connection property </keywords>
      <value>An <see cref="T:Devart.Data.Oracle.OracleConnection" /> object. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleCursor.Dispose()">
      <summary>Disposes the resources allocated by the <see cref="T:Devart.Data.Oracle.OracleCursor" /> object. </summary>
      <remarks>After closing <see cref="T:Devart.Data.Oracle.OracleCursor" /> object call of any method of this object will throw an <see cref="T:System.ObjectDisposedException" />. </remarks>
      <keywords>OracleCursor.Dispose method </keywords>
    </member>
    <member name="M:Devart.Data.Oracle.OracleCursor.GetDataReader()">
      <summary>Gets an <see cref="T:Devart.Data.Oracle.OracleDataReader" /> for the specified cursor. </summary>
      <remarks>An <see cref="T:Devart.Data.Oracle.OracleDataReader" /> allows you to read data from the cursor at the server. </remarks>
      <keywords>OracleCursor.GetDataReader method </keywords>
      <returns>The <see cref="T:Devart.Data.Oracle.OracleDataReader" /> for the cursor. </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleCursor.IsClosed">
      <summary>Gets a value indicating whether the <see cref="T:Devart.Data.Oracle.OracleCursor" /> object is closed or not. </summary>
      <keywords>OracleCursor.IsClosed property </keywords>
      <value><see langword="true" /> if the <see cref="T:Devart.Data.Oracle.OracleCursor" /> is closed; otherwise, <see langword="false" />. </value>
    </member>
    <member name="F:Devart.Data.Oracle.OracleCursor.Null">
      <summary>Represents a null <see cref="T:Devart.Data.Oracle.OracleCursor" /> object not associated with any cursor at the server. </summary>
      <remarks>Use <see cref="F:Devart.Data.Oracle.OracleCursor.Null" /> field to compare with values returned from server through <see cref="P:Devart.Data.Oracle.OracleParameter.OracleValue" /> and some methods of <see cref="T:Devart.Data.Oracle.OracleDataReader" />. You can pass value of this field to the server as well through <see cref="P:Devart.Data.Oracle.OracleParameter.OracleValue" /> or <see cref="P:Devart.Data.Oracle.OracleParameter.Value" /> properties. </remarks>
      <keywords>OracleCursor.Null field </keywords>
    </member>
    <member name="T:Devart.Data.Oracle.OracleDataAdapter">
      <summary>Represents a set of data commands and a database connection that are used to fill the <see cref="T:System.Data.DataSet" /> and update an Oracle database. </summary>
      <remarks>The <see cref="T:Devart.Data.Oracle.OracleDataAdapter" /> serves as a bridge between a <see cref="T:System.Data.DataSet" /> and database for retrieving and saving data. The <see cref="T:Devart.Data.Oracle.OracleDataAdapter" /> provides this bridge by using <see cref="M:System.Data.Common.DbDataAdapter.Fill" /> to load data from the database into the <see cref="T:System.Data.DataSet" />, and using <see cref="M:System.Data.DataSet.Update()" /> to send changes made in the <see cref="T:System.Data.DataSet" /> back to the database.
<para><see cref="T:Devart.Data.Oracle.OracleDataAdapter" /> is used in conjunction with <see cref="T:Devart.Data.Oracle.OracleConnection" /> and <see cref="T:Devart.Data.Oracle.OracleCommand" /> to increase performance when connecting to an Oracle database.</para><para>The <see cref="T:Devart.Data.Oracle.OracleDataAdapter" /> also includes the <see cref="P:Devart.Data.Oracle.OracleDataAdapter.SelectCommand" />, <see cref="P:Devart.Data.Oracle.OracleDataAdapter.InsertCommand" />, <see cref="P:Devart.Data.Oracle.OracleDataAdapter.DeleteCommand" />, <see cref="P:Devart.Data.Oracle.OracleDataAdapter.UpdateCommand" />, and <see cref="P:Devart.Data.Oracle.OracleDataAdapter.TableMappings" /> properties to facilitate loading and updating of data.</para> </remarks>
      <example>The following example demonstrates how to retrieve and manipulate data using <see cref="T:Devart.Data.Oracle.OracleDataAdapter" />. <code lang="csharp">public void UseDataAdapter(OracleConnection myConnection)
{
  OracleDataAdapter myAdapter = new OracleDataAdapter("SELECT DeptNo, DName FROM Test.Dept", myConnection);
  myAdapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;
  DataSet myDataSet = new DataSet();
  myAdapter.Fill(myDataSet,"Departments");
  object[] rowVals = new object[2];
  rowVals[0] = 40;
  rowVals[1] = "Operations";
  myDataSet.Tables["Departments"].Rows.Add(rowVals);
  myAdapter.InsertCommand = new OracleCommand("INSERT INTO Test.Dept (DeptNo, DName) " +
    "VALUES (:DeptNo, :DName)", myConnection);
  myAdapter.InsertCommand.Parameters.Add("DeptNo", OracleDbType.Integer, 0, "DeptNo");
  myAdapter.InsertCommand.Parameters.Add("DName", OracleDbType.VarChar, 15, "DName");
  myAdapter.Update(myDataSet,"Departments"); 
  //Get all data from all tables within the dataset
  foreach(DataTable myTable in myDataSet.Tables)
  {
    foreach(DataRow myRow in myTable.Rows)
    {
      foreach (DataColumn myColumn in myTable.Columns)
      {
        Console.Write(myRow[myColumn]+"\t");
      }
      Console.WriteLine();
    }
    Console.WriteLine();
  }
} </code><code lang="vb">Public Sub UseDataAdapter(ByVal myConnection As OracleConnection)
  Dim myAdapter As OracleDataAdapter = New OracleDataAdapter("SELECT DeptNo, DName FROM Test.Dept", myConnection)
  myAdapter.MissingSchemaAction = MissingSchemaAction.AddWithKey
  Dim myDataSet As DataSet = New DataSet
  myAdapter.Fill(myDataSet, "Departments")
  Dim rowVals(1) As Object
  rowVals(0) = "40"
  rowVals(1) = "Operations"
  myDataSet.Tables("Departments").Rows.Add(rowVals)
  myAdapter.InsertCommand = New OracleCommand("INSERT INTO Test.Dept (DeptNo, DName) " &amp; _
      "VALUES (:DeptNo, :DName)", myConnection)
  myAdapter.InsertCommand.Parameters.Add("DeptNo", OracleDbType.Integer, 0, "DeptNo")
  myAdapter.InsertCommand.Parameters.Add("DName", OracleDbType.VarChar, 15, "DName")
  myAdapter.Update(myDataSet, "Departments")
  Dim myTable As DataTable
  Dim myRow As DataRow
  Dim myColumn As DataColumn
  ' Get all data from all tables within the dataset
  For Each myTable In myDataSet.Tables
    For Each myRow In myTable.Rows
      For Each myColumn In myTable.Columns
        Console.Write(myRow(myColumn) &amp; Chr(9))
      Next myColumn
      Console.WriteLine()
    Next myRow
    Console.WriteLine()
  Next myTable
End Sub </code></example>
      <seealso cref="T:Devart.Data.Oracle.OracleConnection" />
      <seealso cref="T:Devart.Data.Oracle.OracleCommand" />
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataAdapter.#ctor()">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleDataAdapter" /> class. </summary>
      <remarks>When you create an instance of <see cref="T:Devart.Data.Oracle.OracleDataAdapter" />, the following read/write properties are set to their default values, as shown in the table.
<list type="table"><listheader><term>Properties</term><description>Default Value</description></listheader><item><term>MissingMappingAction</term><description>MissingMappingAction.Passthrough</description></item><item><term>MissingSchemaAction</term><description>MissingSchemaAction.Add</description></item></list><para>You can change the value of any of these properties through a separate call to the property.</para> </remarks>
      <example>The following example creates a <see cref="T:Devart.Data.Oracle.OracleDataAdapter" />, sets some of its properties, retrieves data from a table, and displays it. <code lang="csharp">public void CreateDataAdapter(OracleConnection myConnection)
{
  OracleDataAdapter myAdapter = new OracleDataAdapter();
  myAdapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;
  DataSet myDataSet = new DataSet();
  myAdapter.SelectCommand = new OracleCommand("SELECT DeptNo, DName FROM Test.Dept", myConnection);
  myAdapter.Fill(myDataSet,"Departments");
  //Get all data from all tables within the dataset
  foreach(DataTable myTable in myDataSet.Tables)
  {
    foreach(DataRow myRow in myTable.Rows)
    {
      foreach (DataColumn myColumn in myTable.Columns)
      {
        Console.Write(myRow[myColumn]+"\t");
      }
      Console.WriteLine();
    }
    Console.WriteLine();
  }
} </code><code lang="vb">Public Sub CreateDataAdapter(ByVal myConnection As OracleConnection)
  Dim myAdapter As OracleDataAdapter = New OracleDataAdapter
  myAdapter.MissingSchemaAction = MissingSchemaAction.AddWithKey
  Dim myDataSet As DataSet = New DataSet
  myAdapter.SelectCommand = New OracleCommand("SELECT DeptNo, DName FROM Test.Dept", myConnection)
  myAdapter.Fill(myDataSet, "Departments")
  Dim myTable As DataTable
  Dim myRow As DataRow
  Dim myColumn As DataColumn
  ' Get all data from all tables within the dataset
  For Each myTable In myDataSet.Tables
    For Each myRow In myTable.Rows
      For Each myColumn In myTable.Columns
        Console.Write(myRow(myColumn) &amp; Chr(9))
      Next myColumn
      Console.WriteLine()
    Next myRow
    Console.WriteLine()
  Next myTable
End Sub </code></example>
      <overloads>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleDataAdapter" /> class. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataAdapter.#ctor(Devart.Data.Oracle.OracleCommand)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleDataAdapter" /> class with the specified <see cref="T:Devart.Data.Oracle.OracleCommand" /> as the <see ref="P:Devart.Data.Oracle.OracleDataAdapter.SelectCommand" /> property. </summary>
      <remarks>This implementation of the <see cref="T:Devart.Data.Oracle.OracleDataAdapter" /> constructor sets the <see cref="P:Devart.Data.Oracle.OracleDataAdapter.SelectCommand" /> property to the value specified in the <paramref name="selectCommand" /> parameter.
<para>When you create an instance of <see cref="T:Devart.Data.Oracle.OracleDataAdapter" />, the following read/write properties are set to their default values, as shown in the table.</para><list type="table"><listheader><term>Properties</term><description>Default Value</description></listheader><item><term>MissingMappingAction</term><description>MissingMappingAction.Passthrough</description></item><item><term>MissingSchemaAction</term><description>MissingSchemaAction.Add</description></item></list><para>You can change the value of any of these properties through a separate call to the property.</para> </remarks>
      <example>The following example creates a <see cref="T:Devart.Data.Oracle.OracleDataAdapter" />, sets some of its properties, retrieves data from a table, and displays it. <code lang="csharp">public void CreateDataAdapter(OracleConnection myConnection)
{
  OracleCommand myCommand = new OracleCommand("SELECT DeptNo, DName FROM Test.Dept", myConnection);
  OracleDataAdapter myAdapter = new OracleDataAdapter(myCommand);
  myAdapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;
  DataSet myDataSet = new DataSet();
  myAdapter.Fill(myDataSet,"Departments");
  //Get all data from all tables within the dataset
  foreach(DataTable myTable in myDataSet.Tables)
  {
    foreach(DataRow myRow in myTable.Rows)
    {
      foreach (DataColumn myColumn in myTable.Columns)
      {
        Console.Write(myRow[myColumn]+"\t");
      }
      Console.WriteLine();
    }
    Console.WriteLine();
  }
} </code><code lang="vb">Public Sub CreateDataAdapter(ByVal myConnection As OracleConnection)
  Dim myCommand As OracleCommand = New OracleCommand("SELECT DeptNo, DName FROM Test.Dept", myConnection)
  Dim myAdapter As OracleDataAdapter = New OracleDataAdapter(myCommand)
  myAdapter.MissingSchemaAction = MissingSchemaAction.AddWithKey
  Dim myDataSet As DataSet = New DataSet
  myAdapter.Fill(myDataSet, "Departments")
  Dim myTable As DataTable
  Dim myRow As DataRow
  Dim myColumn As DataColumn
  ' Get all data from all tables within the dataset
  For Each myTable In myDataSet.Tables
    For Each myRow In myTable.Rows
      For Each myColumn In myTable.Columns
        Console.Write(myRow(myColumn) &amp; Chr(9))
      Next myColumn
      Console.WriteLine()
    Next myRow
    Console.WriteLine()
  Next myTable
End Sub </code></example>
      <seealso cref="T:Devart.Data.Oracle.OracleConnection" />
      <seealso cref="T:Devart.Data.Oracle.OracleCommand" />
      <param name="selectCommand">A <see cref="T:Devart.Data.Oracle.OracleCommand" /> that contains SQL SELECT statement, and is set as the <see cref="P:Devart.Data.Oracle.OracleDataAdapter.SelectCommand" /> property of the <see cref="T:Devart.Data.Oracle.OracleDataAdapter" />. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataAdapter.#ctor(System.String,Devart.Data.Oracle.OracleConnection)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleDataAdapter" /> class with a <see cref="P:Devart.Data.Oracle.OracleDataAdapter.SelectCommand" /> and a <see cref="T:Devart.Data.Oracle.OracleConnection" /> object. </summary>
      <remarks>This implementation of the <see cref="T:Devart.Data.Oracle.OracleDataAdapter" /> can be useful in an application that must call the Fill method for two or more <see cref="T:Devart.Data.Oracle.OracleDataAdapter" /> objects. </remarks>
      <example>The following example creates a <see cref="T:Devart.Data.Oracle.OracleDataAdapter" />, sets some of its properties, retrieves data from a table, and displays it. <code lang="csharp">public void CreateDataAdapter(OracleConnection myConnection)
{
  OracleDataAdapter myAdapter = new OracleDataAdapter("SELECT DeptNo, DName FROM Test.Dept", myConnection);
  myAdapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;
  DataSet myDataSet = new DataSet();
  myAdapter.Fill(myDataSet,"Departments");
  //Get all data from all tables within the dataset
  foreach(DataTable myTable in myDataSet.Tables)
  {
    foreach(DataRow myRow in myTable.Rows)
    {
      foreach (DataColumn myColumn in myTable.Columns)
      {
        Console.Write(myRow[myColumn]+"\t");
      }
      Console.WriteLine();
    }
    Console.WriteLine();
  }
} </code><code lang="vb">Public Sub CreateDataAdapter(ByVal myConnection As OracleConnection)
  Dim myAdapter As OracleDataAdapter = New OracleDataAdapter("SELECT DeptNo, DName FROM Test.Dept", myConnection)
  myAdapter.MissingSchemaAction = MissingSchemaAction.AddWithKey
  Dim myDataSet As DataSet = New DataSet
  myAdapter.Fill(myDataSet, "Departments")
  Dim myTable As DataTable
  Dim myRow As DataRow
  Dim myColumn As DataColumn
  ' Get all data from all tables within the dataset
  For Each myTable In myDataSet.Tables
    For Each myRow In myTable.Rows
      For Each myColumn In myTable.Columns
        Console.Write(myRow(myColumn) &amp; Chr(9))
      Next myColumn
      Console.WriteLine()
    Next myRow
    Console.WriteLine()
  Next myTable
End Sub </code></example>
      <seealso cref="T:Devart.Data.Oracle.OracleConnection" />
      <seealso cref="T:Devart.Data.Oracle.OracleCommand" />
      <param name="selectCommandText">A <see cref="T:System.String" /> that contains a SQL SELECT statement to be used as the <see cref="P:Devart.Data.Oracle.OracleCommand.CommandText" /> of the <see cref="P:Devart.Data.Oracle.OracleDataAdapter.SelectCommand" /> property of the <see cref="T:Devart.Data.Oracle.OracleDataAdapter" />. </param>
      <param name="selectConnection">A <see cref="T:Devart.Data.Oracle.OracleConnection" /> that represents the connection. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataAdapter.#ctor(System.String,System.String)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleDataAdapter" /> class with a <see cref="P:Devart.Data.Oracle.OracleDataAdapter.SelectCommand" /> and a connection string. </summary>
      <example>The following example creates a <see cref="T:Devart.Data.Oracle.OracleDataAdapter" />, sets some of its properties, retrieves data from a table, and displays it. <code lang="csharp">public void CreateDataAdapter()
{
  OracleDataAdapter myAdapter = new OracleDataAdapter("SELECT DeptNo, DName FROM Test.Dept", 
      "User Id=Scott;Password=tiger;Data Source=Ora");
  myAdapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;
  DataSet myDataSet = new DataSet();
  myAdapter.Fill(myDataSet,"Departments");
  //Get all data from all tables within the dataset
  foreach(DataTable myTable in myDataSet.Tables)
  {
    foreach(DataRow myRow in myTable.Rows)
    {
      foreach (DataColumn myColumn in myTable.Columns)
      {
        Console.Write(myRow[myColumn]+"\t");
      }
      Console.WriteLine();
    }
    Console.WriteLine();
  }
} </code><code lang="vb">Public Sub CreateDataAdapter()
  Dim myAdapter As OracleDataAdapter = New OracleDataAdapter("SELECT DeptNo, DName FROM Test.Dept", _
      "User Id=Scott;Password=tiger;Data Source=Ora")
  myAdapter.MissingSchemaAction = MissingSchemaAction.AddWithKey
  Dim myDataSet As DataSet = New DataSet
  myAdapter.Fill(myDataSet, "Departments")
  Dim myTable As DataTable
  Dim myRow As DataRow
  Dim myColumn As DataColumn
  ' Get all data from all tables within the dataset
  For Each myTable In myDataSet.Tables
    For Each myRow In myTable.Rows
      For Each myColumn In myTable.Columns
        Console.Write(myRow(myColumn) &amp; Chr(9))
      Next myColumn
      Console.WriteLine()
    Next myRow
    Console.WriteLine()
  Next myTable
End Sub </code></example>
      <seealso cref="T:Devart.Data.Oracle.OracleConnection" />
      <seealso cref="T:Devart.Data.Oracle.OracleCommand" />
      <param name="selectCommandText">A <see cref="T:System.String" /> that is a SELECT statement to be used as the <see cref="P:Devart.Data.Oracle.OracleCommand.CommandText" /> of the <see cref="P:Devart.Data.Oracle.OracleDataAdapter.SelectCommand" /> property of the <see cref="T:Devart.Data.Oracle.OracleDataAdapter" /> . </param>
      <param name="selectConnectionString">The connection string. </param>
    </member>
    <member name="P:Devart.Data.Oracle.OracleDataAdapter.DeleteCommand">
      <summary>Gets or sets an Oracle statement to delete records from the data set. </summary>
      <remarks>During an update operation, if <see cref="P:Devart.Data.Oracle.OracleDataAdapter.DeleteCommand" /> is not set and primary key information is present in the <see cref="T:System.Data.DataSet" />, you can use the <see cref="T:Devart.Data.Oracle.OracleCommandBuilder" /> class to automatically generate the <see cref="P:Devart.Data.Oracle.OracleDataAdapter.DeleteCommand" />, and additional commands needed to reconcile the <see cref="T:System.Data.DataSet" /> to the database. To do this, set the <see cref="P:Devart.Data.Oracle.OracleDataAdapter.SelectCommand" /> property of the  <see cref="T:Devart.Data.Oracle.OracleDataAdapter" />. For more information see "Automatically Generated Commands" in the Microsoft .NET Framework SDK documentation. </remarks>
      <example>The following example demonstrates how to retrieve and manipulate data using <see cref="T:Devart.Data.Oracle.OracleDataAdapter" />. <code lang="csharp">public void UseDataAdapter(OracleConnection myConnection)
{
  OracleDataAdapter myAdapter = new OracleDataAdapter("SELECT DeptNo, DName FROM Test.Dept", myConnection);
  myAdapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;
  DataSet myDataSet = new DataSet();
  myAdapter.Fill(myDataSet,"Departments");
  myDataSet.Tables["Departments"].Rows[3].Delete();
  myAdapter.DeleteCommand = new OracleCommand("DELETE FROM Test.Dept WHERE DeptNo = :DeptNo", myConnection);
  myAdapter.DeleteCommand.Parameters.Add("DeptNo", OracleDbType.Integer, 0, "DeptNo").SourceVersion = DataRowVersion.Original;
  myAdapter.Update(myDataSet,"Departments"); 
  
  //Get all data from all tables within the dataset
  foreach(DataTable myTable in myDataSet.Tables)
  {
    foreach(DataRow myRow in myTable.Rows)
    {
      foreach (DataColumn myColumn in myTable.Columns)
      {
        Console.Write(myRow[myColumn]+"\t");
      }
      Console.WriteLine();
    }
    Console.WriteLine();
  }
} </code><code lang="vb">Public Sub UseDataAdapter(ByVal myConnection As OracleConnection)
  Dim myAdapter As OracleDataAdapter = New OracleDataAdapter("SELECT DeptNo, DName FROM Test.Dept", myConnection)
  myAdapter.MissingSchemaAction = MissingSchemaAction.AddWithKey
  Dim myDataSet As DataSet = New DataSet
  myAdapter.Fill(myDataSet, "Departments")
  myDataSet.Tables("Departments").Rows(3).Delete()
  myAdapter.DeleteCommand = New OracleCommand("DELETE FROM Test.Dept WHERE DeptNo = :DeptNo", myConnection)
  myAdapter.DeleteCommand.Parameters.Add("DeptNo", OracleDbType.Integer, 0, "DeptNo").SourceVersion = DataRowVersion.Original
  myAdapter.Update(myDataSet, "Departments")
  Dim myTable As DataTable
  Dim myRow As DataRow
  Dim myColumn As DataColumn
  ' Get all data from all tables within the dataset
  For Each myTable In myDataSet.Tables
    For Each myRow In myTable.Rows
      For Each myColumn In myTable.Columns
        Console.Write(myRow(myColumn) &amp; Chr(9))
      Next myColumn
      Console.WriteLine()
    Next myRow
    Console.WriteLine()
  Next myTable
End Sub </code></example>
      <seealso cref="P:Devart.Data.Oracle.OracleDataAdapter.InsertCommand" />
      <seealso cref="P:Devart.Data.Oracle.OracleDataAdapter.SelectCommand" />
      <seealso cref="P:Devart.Data.Oracle.OracleDataAdapter.UpdateCommand" />
      <keywords>OracleDataAdapter.DeleteCommand property </keywords>
      <value>A <see cref="T:Devart.Data.Oracle.OracleCommand" /> used during an update operation to delete records in the database that correspond to deleted rows in the <see cref="T:System.Data.DataSet" />. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataAdapter.Fill(System.Data.DataSet,Devart.Data.Oracle.OracleCursor)">
      <summary>Adds or refreshes rows in the <see cref="T:System.Data.DataSet" /> to match those in the data source using the specified <see cref="T:System.Data.DataSet" /> and the <see cref="T:Devart.Data.Oracle.OracleCursor" />. </summary>
      <seealso cref="T:Devart.Data.Oracle.OracleCursor" />
      <keywords>OracleDataAdapter.Fill method </keywords>
      <param name="dataSet">A <see cref="T:System.Data.DataSet" /> to fill with records. </param>
      <param name="cursor">An <see cref="T:Devart.Data.Oracle.OracleCursor" /> used to retrieve data using <see cref="T:Devart.Data.Oracle.OracleDataReader" />. </param>
      <returns>The number of rows successfully added to or refreshed in the <see cref="T:System.Data.DataSet" />. </returns>
      <overloads>Adds or refreshes rows in a <see cref="T:System.Data.DataTable" /> to match those in the data source using the specified <see cref="T:System.Data.DataTable" /> and <see cref="T:Devart.Data.Oracle.OracleCursor" />. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataAdapter.Fill(System.Data.DataSet,System.Int32,System.Int32,System.String,Devart.Data.Oracle.OracleCursor)">
      <summary>Adds or refreshes rows in a specified range in the <see cref="T:System.Data.DataSet" /> to match those in the data source using the <see cref="T:System.Data.DataSet" />, <see cref="T:System.Data.DataTable" />, and <see cref="T:Devart.Data.Oracle.OracleCursor" />. </summary>
      <seealso cref="T:Devart.Data.Oracle.OracleCursor" />
      <keywords>OracleDataAdapter.Fill method </keywords>
      <param name="dataSet">A <see cref="T:System.Data.DataSet" /> to fill with records. </param>
      <param name="startRecord">The zero-based record number to start with. </param>
      <param name="maxRecords">The maximum number of records to retrieve. </param>
      <param name="srcTable">The name of the <see cref="T:System.Data.DataTable" /> to use for table mapping. </param>
      <param name="cursor">An <see cref="T:Devart.Data.Oracle.OracleCursor" /> used to retrieve data using <see cref="T:Devart.Data.Oracle.OracleDataReader" />. </param>
      <returns>The number of rows successfully added to or refreshed in the <see cref="T:System.Data.DataSet" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataAdapter.Fill(System.Data.DataSet,System.String,Devart.Data.Oracle.OracleCursor)">
      <summary>Adds or refreshes rows in the <see cref="T:System.Data.DataSet" /> to match those in the data source using the specified <see cref="T:System.Data.DataSet" /> and <see cref="T:Devart.Data.Oracle.OracleCursor" />. </summary>
      <seealso cref="T:Devart.Data.Oracle.OracleCursor" />
      <keywords>OracleDataAdapter.Fill method </keywords>
      <param name="dataSet">A <see cref="T:System.Data.DataSet" /> to fill with records. </param>
      <param name="srcTable">The name of the <see cref="T:System.Data.DataTable" /> to use for table mapping. </param>
      <param name="cursor">An <see cref="T:Devart.Data.Oracle.OracleCursor" /> used to retrieve data using <see cref="T:Devart.Data.Oracle.OracleDataReader" />. </param>
      <returns>The number of rows successfully added to or refreshed in the <see cref="T:System.Data.DataSet" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataAdapter.Fill(System.Data.DataTable,Devart.Data.Oracle.OracleCursor)">
      <summary>Adds or refreshes rows in a <see cref="T:System.Data.DataTable" /> to match those in the data source using the specified <see cref="T:System.Data.DataTable" /> and <see cref="T:Devart.Data.Oracle.OracleCursor" />. </summary>
      <seealso cref="T:Devart.Data.Oracle.OracleCursor" />
      <keywords>OracleDataAdapter.Fill method </keywords>
      <param name="dataTable">A <see cref="T:System.Data.DataTable" /> to fill with records. </param>
      <param name="cursor">An <see cref="T:Devart.Data.Oracle.OracleCursor" /> used to retrieve data using <see cref="T:Devart.Data.Oracle.OracleDataReader" />. </param>
      <returns>The number of rows successfully added to or refreshed in the <see cref="T:System.Data.DataTable" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataAdapter.InitializeSequentialFill()">
      <summary>Prepares the <see cref="T:Devart.Data.Oracle.OracleDataAdapter" /> to operate in sequential mode. </summary>
      <remarks>The sequential mode provides significant performance boost when the <see cref="T:Devart.Data.Oracle.OracleDataAdapter" /> requests adjacent blocks of data one after another. </remarks>
      <seealso cref="M:Devart.Data.Oracle.OracleDataAdapter.TerminateSequentialFill" />
      <keywords>OracleDataAdapter.InitializeSequentialFill method </keywords>
    </member>
    <member name="P:Devart.Data.Oracle.OracleDataAdapter.InsertCommand">
      <summary>Gets or sets an Oracle statement to insert new records into the data source. </summary>
      <remarks>During an update operation, if <see cref="P:Devart.Data.Oracle.OracleDataAdapter.InsertCommand" /> is not set and primary key information is present in the <see cref="T:System.Data.DataSet" />, you can use the <see cref="T:Devart.Data.Oracle.OracleCommandBuilder" /> class to automatically generate <see cref="P:Devart.Data.Oracle.OracleDataAdapter.InsertCommand" />, and additional commands needed to reconcile the <see cref="T:System.Data.DataSet" /> to the database. To do this, set the <see cref="P:Devart.Data.Oracle.OracleDataAdapter.SelectCommand" /> property of the <see cref="T:Devart.Data.Oracle.OracleDataAdapter" />. For more information see "Automatically Generated Commands" in the Microsoft .NET Framework SDK documentation.
<para>Note: If execution of this command returns rows, these rows may be added to the <see cref="T:System.Data.DataSet" /> depending upon how you set the <see cref="P:Devart.Common.DbCommandBase.UpdatedRowSource" /> property of the <see cref="T:Devart.Data.Oracle.OracleCommand" /> object.</para> </remarks>
      <example>The following example demonstrates how to retrieve and manipulate data using <see cref="T:Devart.Data.Oracle.OracleDataAdapter" />. <code lang="csharp">public void UseDataAdapter(OracleConnection myConnection)
{
  OracleDataAdapter myAdapter = new OracleDataAdapter("SELECT DeptNo, DName FROM Test.Dept", myConnection);
  myAdapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;
  DataSet myDataSet = new DataSet();
  myAdapter.Fill(myDataSet,"Departments");
  object[] rowVals = new object[2];
  rowVals[0] = 40;
  rowVals[1] = "Operations";
  myDataSet.Tables["Departments"].Rows.Add(rowVals);
  myAdapter.InsertCommand = new OracleCommand("INSERT INTO Test.Dept (DeptNo, DName) " +
    "VALUES (:DeptNo, :DName)", myConnection);
	myAdapter.InsertCommand.Parameters.Add("DeptNo", OracleDbType.Integer, 0, "DeptNo");
  myAdapter.InsertCommand.Parameters.Add("DName", OracleDbType.VarChar, 15, "DName");
  myAdapter.Update(myDataSet,"Departments"); 
  //Get all data from all tables within the dataset
  foreach(DataTable myTable in myDataSet.Tables)
  {
    foreach(DataRow myRow in myTable.Rows)
    {
      foreach (DataColumn myColumn in myTable.Columns)
      {
        Console.Write(myRow[myColumn]+"\t");
      }
      Console.WriteLine();
    }
    Console.WriteLine();
  }
} </code><code lang="vb">Public Sub UseDataAdapter(ByVal myConnection As OracleConnection)
  Dim myAdapter As OracleDataAdapter = New OracleDataAdapter("SELECT DeptNo, DName FROM Test.Dept", myConnection)
  myAdapter.MissingSchemaAction = MissingSchemaAction.AddWithKey
  Dim myDataSet As DataSet = New DataSet
  myAdapter.Fill(myDataSet, "Departments")
  Dim rowVals(1) As Object
  rowVals(0) = "40"
  rowVals(1) = "Operations"
  myDataSet.Tables("Departments").Rows.Add(rowVals)
  myAdapter.InsertCommand = New OracleCommand("INSERT INTO Test.Dept (DeptNo, DName) " &amp; _
      "VALUES (:DeptNo, :DName)", myConnection)
  myAdapter.InsertCommand.Parameters.Add("DeptNo", OracleDbType.Integer, 0, "DeptNo")
  myAdapter.InsertCommand.Parameters.Add("DName", OracleDbType.VarChar, 15, "DName")
  myAdapter.Update(myDataSet, "Departments")
  Dim myTable As DataTable
  Dim myRow As DataRow
  Dim myColumn As DataColumn
  ' Get all data from all tables within the dataset
  For Each myTable In myDataSet.Tables
    For Each myRow In myTable.Rows
      For Each myColumn In myTable.Columns
        Console.Write(myRow(myColumn) &amp; Chr(9))
      Next myColumn
      Console.WriteLine()
    Next myRow
    Console.WriteLine()
  Next myTable
End Sub </code></example>
      <seealso cref="P:Devart.Data.Oracle.OracleDataAdapter.DeleteCommand" />
      <seealso cref="P:Devart.Data.Oracle.OracleDataAdapter.SelectCommand" />
      <seealso cref="P:Devart.Data.Oracle.OracleDataAdapter.UpdateCommand" />
      <keywords>OracleDataAdapter.InsertCommand property </keywords>
      <value>A <see cref="T:Devart.Data.Oracle.OracleCommand" /> used during an update operation to insert records in the database that correspond to new rows in the <see cref="T:System.Data.DataSet" />. </value>
    </member>
    <member name="E:Devart.Data.Oracle.OracleDataAdapter.RowUpdated">
      <summary>Occurs during <see cref="M:System.Data.Common.DbDataAdapter.Update(System.Data.DataSet)" /> after a command is executed against the data source. The attempt to update is made, so the event fires. </summary>
      <remarks>The event handler receives an argument of type <see cref="T:Devart.Data.Oracle.OracleRowUpdatedEventArgs" /> containing data related to this event. The following <see cref="T:Devart.Data.Oracle.OracleRowUpdatedEventArgs" /> properties provide information specific to this event.
<list type="table"><listheader><term>Property</term><description>Description</description></listheader><item><term><see cref="P:Devart.Data.Oracle.OracleRowUpdatedEventArgs.Command" /></term><description>Gets the <see cref="T:Devart.Data.Oracle.OracleCommand" /> executed when <see cref="M:System.Data.Common.DbDataAdapter.Update(System.Data.DataSet)" /> is called.</description></item><item><term>Errors (inherited from <see cref="T:System.Data.Common.RowUpdatedEventArgs" />)</term><description>Gets any errors generated by the .NET data provider when the <see cref="M:System.Data.Common.DbDataAdapter.Command(System.Data.DataSet)" /> was executed.</description></item><item><term>RecordsAffected (inherited from <see cref="T:System.Data.Common.RowUpdatedEventArgs" />)</term><description>Gets the number of rows changed, inserted, or deleted by execution of the SQL statement.</description></item><item><term>Row (inherited from <see cref="T:System.Data.Common.RowUpdatedEventArgs" />)</term><description>Gets the <see cref="T:System.Data.DataRow" /> sent through an <see cref="M:System.Data.Common.DbDataAdapter.Update(System.Data.DataSet)" />.</description></item><item><term>StatementType (<see cref="T:System.Data.Common.RowUpdatedEventArgs" />)</term><description>Gets the type of SQL statement executed.</description></item><item><term>Status (inherited from <see cref="T:System.Data.Common.RowUpdatedEventArgs" />)</term><description>Gets the UpdateStatus of the <see cref="M:System.Data.Common.DbDataAdapter.Command(System.Data.DataSet)" />.</description></item><item><term>TableMapping (inherited from <see cref="T:System.Data.Common.RowUpdatedEventArgs" />)</term><description>Gets the DataTableMapping sent through an <see cref="M:System.Data.Common.DbDataAdapter.Update(System.Data.DataSet)" />.</description></item></list><para>When using the <see cref="M:System.Data.Common.DbDataAdapter.Update(System.Data.DataSet)" /> method, there are two events that occur per data row updated. The order of execution is as follows: </para><list type="number"><item><description>The values in the <see cref="T:System.Data.DataRow" /> are moved to the parameter values.</description></item><item><description>The <see cref="E:Devart.Data.Oracle.OracleDataAdapter.RowUpdating" /> event is raised.</description></item><item><description>The command executes.</description></item><item><description>If the <see cref="T:System.Data.UpdateRowSource" /> enumeration is set to <see cref="T:System.Data.UpdateRowSource.FirstReturnedRecordS" />, the first returned result is placed in the <see cref="T:System.Data.DataRow" />.</description></item><item><description>If there are output parameters, they are placed in the <see cref="T:System.Data.DataRow" />.</description></item><item><description>The <see cref="E:Devart.Data.Oracle.OracleDataAdapter.RowUpdated" /> event is raised.</description></item><item><description><see cref="M:System.Data.DataRow.AcceptChanges" /> is called.</description></item></list> </remarks>
      <keywords>OracleDataAdapter.RowUpdated event </keywords>
    </member>
    <member name="E:Devart.Data.Oracle.OracleDataAdapter.RowUpdating">
      <summary>Occurs during <see cref="M:System.Data.Common.DbDataAdapter.Update(System.Data.DataSet)" /> before a command is executed against the data source. The attempt to update is made, so the event fires. </summary>
      <remarks>The event handler receives an argument of type <see cref="T:Devart.Data.Oracle.OracleRowUpdatingEventArgs" /> containing data related to this event. The following <see cref="T:Devart.Data.Oracle.OracleRowUpdatingEventArgs" /> properties provide information specific to this event.
<list type="table"><listheader><term>Property</term><description>Description</description></listheader><item><term><see cref="P:Devart.Data.Oracle.OracleRowUpdatedEventArgs.Command" /></term><description>Gets the <see cref="T:Devart.Data.Oracle.OracleCommand" /> executed when <see cref="M:System.Data.Common.DbDataAdapter.Update(System.Data.DataSet)" /> is called.</description></item><item><term>Errors (inherited from <see cref="T:System.Data.Common.RowUpdatingEventArgs" />)</term><description>Gets any errors generated by the .NET data provider when the <see cref="M:System.Data.Common.DbDataAdapter.Command(System.Data.DataSet)" /> was executed.</description></item><item><term>Row (inherited from <see cref="T:System.Data.Common.RowUpdatingEventArgs" />)</term><description>Gets the <see cref="T:System.Data.DataRow" /> to sent through an <see cref="M:System.Data.Common.DbDataAdapter.Update(System.Data.DataSet)" />.</description></item><item><term>StatementType (<see cref="T:System.Data.Common.RowUpdatingEventArgs" />)</term><description>Gets the type of SQL statement to execute.</description></item><item><term>Status (inherited from <see cref="T:System.Data.Common.RowUpdatingEventArgs" />)</term><description>Gets the UpdateStatus of the <see cref="M:System.Data.Common.DbDataAdapter.Command(System.Data.DataSet)" />.</description></item><item><term>TableMapping (inherited from <see cref="T:System.Data.Common.RowUpdatingEventArgs" />)</term><description>Gets the DataTableMapping to sent through an <see cref="M:System.Data.Common.DbDataAdapter.Update(System.Data.DataSet)" />.</description></item></list><para>When using the <see cref="M:System.Data.Common.DbDataAdapter.Update(System.Data.DataSet)" /> method, there are two events that occur per data row updated. The order of execution is as follows: </para><list type="number"><item><description>The values in the <see cref="T:System.Data.DataRow" /> are moved to the parameter values.</description></item><item><description>The <see cref="E:Devart.Data.Oracle.OracleDataAdapter.RowUpdating" /> event is raised.</description></item><item><description>The command executes.</description></item><item><description>If the <see cref="T:System.Data.UpdateRowSource" /> enumeration is set to <see cref="T:System.Data.UpdateRowSource.FirstReturnedRecordS" />, the first returned result is placed in the <see cref="T:System.Data.DataRow" />.</description></item><item><description>If there are output parameters, they are placed in the <see cref="T:System.Data.DataRow" />.</description></item><item><description>The <see cref="E:Devart.Data.Oracle.OracleDataAdapter.RowUpdated" /> event is raised.</description></item><item><description><see cref="M:System.Data.DataRow.AcceptChanges" /> is called.</description></item></list> </remarks>
      <keywords>OracleDataAdapter.RowUpdating event </keywords>
    </member>
    <member name="P:Devart.Data.Oracle.OracleDataAdapter.SelectCommand">
      <summary>Gets or sets an Oracle statement used to select records in the data source. </summary>
      <remarks>When <see cref="P:Devart.Data.Oracle.OracleDataAdapter.SelectCommand" /> is assigned to a previously created <see cref="T:Devart.Data.Oracle.OracleCommand" />, the <see cref="T:Devart.Data.Oracle.OracleCommand" /> is not cloned. Instead, the <see cref="P:Devart.Data.Oracle.OracleDataAdapter.SelectCommand" /> maintains a reference to the previously created <see cref="T:Devart.Data.Oracle.OracleCommand" /> object.
<para>If <see cref="P:Devart.Data.Oracle.OracleDataAdapter.SelectCommand" /> does not return any rows, no tables are added to the <see cref="T:System.Data.DataSet" />, and no exception is raised.</para><para>This property supports the <a href="InterForm.html">InterForm</a> technology.</para> </remarks>
      <example>The following example creates a <see cref="T:Devart.Data.Oracle.OracleDataAdapter" />, sets some of its properties, retrieves data from a table, and displays it. <code lang="csharp">public void CreateDataAdapter(OracleConnection myConnection)
{
  OracleDataAdapter myAdapter = new OracleDataAdapter();
  myAdapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;
  DataSet myDataSet = new DataSet();
  myAdapter.SelectCommand = new OracleCommand("SELECT DeptNo, DName FROM Test.Dept", myConnection);
  myAdapter.Fill(myDataSet,"Departments");
  //Get all data from all tables within the dataset
  foreach(DataTable myTable in myDataSet.Tables)
  {
    foreach(DataRow myRow in myTable.Rows)
    {
      foreach (DataColumn myColumn in myTable.Columns)
      {
        Console.Write(myRow[myColumn]+"\t");
      }
      Console.WriteLine();
    }
    Console.WriteLine();
  }
} </code><code lang="vb">Public Sub CreateDataAdapter(ByVal myConnection As OracleConnection)
  Dim myAdapter As OracleDataAdapter = New OracleDataAdapter
  myAdapter.MissingSchemaAction = MissingSchemaAction.AddWithKey
  Dim myDataSet As DataSet = New DataSet
  myAdapter.SelectCommand = New OracleCommand("SELECT DeptNo, DName FROM Test.Dept", myConnection)
  myAdapter.Fill(myDataSet, "Departments")
  Dim myTable As DataTable
  Dim myRow As DataRow
  Dim myColumn As DataColumn
  ' Get all data from all tables within the dataset
  For Each myTable In myDataSet.Tables
    For Each myRow In myTable.Rows
      For Each myColumn In myTable.Columns
        Console.Write(myRow(myColumn) &amp; Chr(9))
      Next myColumn
      Console.WriteLine()
    Next myRow
    Console.WriteLine()
  Next myTable
End Sub </code></example>
      <seealso cref="P:Devart.Data.Oracle.OracleDataAdapter.DeleteCommand" />
      <seealso cref="P:Devart.Data.Oracle.OracleDataAdapter.InsertCommand" />
      <seealso cref="P:Devart.Data.Oracle.OracleDataAdapter.UpdateCommand" />
      <keywords>OracleDataAdapter.SelectCommand property </keywords>
      <value>A <see cref="T:Devart.Data.Oracle.OracleCommand" /> that is used during a fill operation to select records from the database for placement in the <see cref="T:System.Data.DataSet" />. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleDataAdapter.TableMappings">
      <summary>Gets a collection that provides the master mapping between a source table and a <see cref="T:Devart.Data.Oracle.OracleDataTable" />. </summary>
      <remarks>When reconciling changes, the <see cref="T:Devart.Data.Oracle.OracleDataAdapter" /> uses the <see cref="T:System.Data.Common.DataTableMappingCollection" /> collection to associate the column names used by the data source with the column names used by the <see cref="T:System.Data.DataSet" />. </remarks>
      <keywords>OracleDataAdapter.TableMappings property </keywords>
      <value>A collection that provides the master mapping between the returned records and the <see cref="T:System.Data.DataSet" />. The default value is an empty collection. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataAdapter.TerminateSequentialFill()">
      <summary>Frees the resources required for the sequential mode. </summary>
      <seealso cref="M:Devart.Data.Oracle.OracleDataAdapter.InitializeSequentialFill" />
      <keywords>OracleDataAdapter.TerminateSequentialFill method </keywords>
    </member>
    <member name="P:Devart.Data.Oracle.OracleDataAdapter.UpdateBatchSize">
      <summary>Gets or sets the number of rows that are processed in each round-trip to the server. </summary>
      <remarks><para>Gets or sets a value that enables or disables batch processing support, and specifies the number of commands that can be executed in a batch.</para>
<para>Use the UpdateBatchSize property to update a data source with changes from a <see cref="T:Devart.Data.Oracle.OracleDataSet" />. This can increase application performance by reducing the number of round-trips to the server. </para>
<para>Executing an extremely large batch could decrease performance. Therefore, you should test for the optimum batch size setting before implementing your application.</para>
<para>An <see cref="T:System.ArgumentOutOfRangeException" /> is thrown if the value is set to a number less than zero.</para> </remarks>
      <keywords>OracleDataAdapter.UpdateBatchSize property </keywords>
      <value><para>The number of rows to process per batch. </para>
<list type="table"><listheader><term>Value is</term><description>Effect</description></listheader><item><term>0</term><description>There is no limit on the batch size.</description></item><item><term>1</term><description>Disables batch updating.</description></item><item><term>more than 1</term><description>Changes are sent using batches of UpdateBatchSize operations at a time.</description></item></list>
<para>When setting this to a value other than 1, all the commands associated with the <see cref="T:Devart.Data.Oracle.OracleDataAdapter" /> should have their <see cref="P:Devart.Common.DbCommandBase.UpdatedRowSource" /> property set to None or OutputParameters. An exception is thrown otherwise.</para> </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleDataAdapter.UpdateCommand">
      <summary>Gets or sets an Oracle statement used to update records in the data source. </summary>
      <remarks>During an update operation, if <see cref="P:Devart.Data.Oracle.OracleDataAdapter.UpdateCommand" /> is not set and primary key information is present in the <see cref="T:System.Data.DataSet" />, you can use the <see cref="T:Devart.Data.Oracle.OracleCommandBuilder" /> class to automatically generate <see cref="P:Devart.Data.Oracle.OracleDataAdapter.UpdateCommand" />, and additional commands needed to reconcile the <see cref="T:System.Data.DataSet" /> to the database. To do this, set the <see cref="P:Devart.Data.Oracle.OracleDataAdapter.SelectCommand" /> property of the <see cref="T:Devart.Data.Oracle.OracleDataAdapter" />. For more information see "Automatically Generated Commands" in the Microsoft .NET Framework SDK documentation.
<para>Note: If execution of this command returns rows, these rows may be merged with the <see cref="T:System.Data.DataSet" /> depending upon how you set the <see cref="P:Devart.Common.DbCommandBase.UpdatedRowSource" /> property of the <see cref="T:Devart.Data.Oracle.OracleCommand" /> object.</para> </remarks>
      <example>The following example demonstrates how to retrieve and manipulate data using <see cref="T:Devart.Data.Oracle.OracleDataAdapter" />. <code lang="csharp">public void UseDataAdapter(OracleConnection myConnection)
{
  OracleDataAdapter myAdapter = new OracleDataAdapter("SELECT DeptNo, DName FROM Test.Dept", myConnection);
  myAdapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;
  DataSet myDataSet = new DataSet();
  myAdapter.Fill(myDataSet,"Departments");
  myDataSet.Tables["Departments"].Rows[3]["DName"] = "Researches";
  myAdapter.UpdateCommand = new OracleCommand("UPDATE Test.Dept SET DeptNo = :DeptNo, DName = :DName " +
      "WHERE DeptNo = :oldDeptNo", myConnection);
  myAdapter.UpdateCommand.Parameters.Add("DeptNo", OracleDbType.Integer, 0, "DeptNo");
  myAdapter.UpdateCommand.Parameters.Add("DName", OracleDbType.VarChar, 15, "DName");
  myAdapter.UpdateCommand.Parameters.Add("oldDeptNo", OracleDbType.Integer, 0, "DeptNo").SourceVersion = DataRowVersion.Original;
  myAdapter.Update(myDataSet,"Departments"); 
  //Get all data from all tables within the dataset
  foreach(DataTable myTable in myDataSet.Tables)
  {
    foreach(DataRow myRow in myTable.Rows)
    {
      foreach (DataColumn myColumn in myTable.Columns)
      {
        Console.Write(myRow[myColumn]+"\t");
      }
      Console.WriteLine();
    }
    Console.WriteLine();
  }
} </code><code lang="vb">Public Sub UseDataAdapter(ByVal myConnection As OracleConnection)
  Dim myAdapter As OracleDataAdapter = New OracleDataAdapter("SELECT DeptNo, DName FROM Test.Dept", myConnection)
  myAdapter.MissingSchemaAction = MissingSchemaAction.AddWithKey
  Dim myDataSet As DataSet = New DataSet
  myAdapter.Fill(myDataSet, "Departments")
  myDataSet.Tables("Departments").Rows(3)("DName") = "Researches"
  myAdapter.UpdateCommand = New OracleCommand("UPDATE Test.Dept SET DeptNo = :DeptNo, DName = :DName " &amp; _
        "WHERE DeptNo = :oldDeptNo", myConnection)
  myAdapter.UpdateCommand.Parameters.Add("DeptNo", OracleDbType.Integer, 0, "DeptNo")
  myAdapter.UpdateCommand.Parameters.Add("DName", OracleDbType.VarChar, 15, "DName")
  myAdapter.UpdateCommand.Parameters.Add("oldDeptNo", OracleDbType.Integer, 0, "DeptNo").SourceVersion = DataRowVersion.Original
  myAdapter.Update(myDataSet, "Departments")
  Dim myTable As DataTable
  Dim myRow As DataRow
  Dim myColumn As DataColumn
  ' Get all data from all tables within the dataset
  For Each myTable In myDataSet.Tables
    For Each myRow In myTable.Rows
      For Each myColumn In myTable.Columns
        Console.Write(myRow(myColumn) &amp; Chr(9))
      Next myColumn
      Console.WriteLine()
    Next myRow
    Console.WriteLine()
  Next myTable
End Sub </code></example>
      <seealso cref="P:Devart.Data.Oracle.OracleDataAdapter.DeleteCommand" />
      <seealso cref="P:Devart.Data.Oracle.OracleDataAdapter.InsertCommand" />
      <seealso cref="P:Devart.Data.Oracle.OracleDataAdapter.SelectCommand" />
      <keywords>OracleDataAdapter.UpdateCommand property </keywords>
      <value>A <see cref="T:Devart.Data.Oracle.OracleCommand" /> used during an update operation to update records in the database that correspond to modified rows in the <see cref="T:System.Data.DataSet" />. </value>
    </member>
    <member name="T:Devart.Data.Oracle.OracleDataReader">
      <summary>Reads a forward-only stream of rows from an Oracle database. </summary>
      <remarks>To create a <see cref="T:Devart.Data.Oracle.OracleDataReader" />, you must call the <see cref="M:Devart.Data.Oracle.OracleCommand.ExecuteReader" /> method of the <see cref="T:Devart.Data.Oracle.OracleCommand" /> object, rather than directly using a constructor.
<para><see cref="P:Devart.Data.Oracle.OracleDataReader.IsClosed" /> and <see cref="P:Devart.Data.Oracle.OracleDataReader.RecordsAffected" /> are the only properties that you can call after the <see cref="T:Devart.Data.Oracle.OracleDataReader" /> is closed. In some cases, you must call <see cref="M:Devart.Data.Oracle.OracleDataReader.Close()" /> before you can call <see cref="P:Devart.Data.Oracle.OracleDataReader.RecordsAffected" />.</para> </remarks>
      <example>The following example creates a <see cref="T:Devart.Data.Oracle.OracleConnection" />, a <see cref="T:Devart.Data.Oracle.OracleCommand" />, and a <see cref="T:Devart.Data.Oracle.OracleDataReader" />. The example reads through the data, writing it out to the console. Finally, the example closes the <see cref="T:Devart.Data.Oracle.OracleDataReader" />, then the <see cref="T:Devart.Data.Oracle.OracleConnection" />. <code lang="csharp">public void ReadMyData(string myConnString) 
{
  string mySelectQuery = "SELECT DeptNo, DName FROM Test.Dept";
  OracleConnection myConnection = new OracleConnection(myConnString);
  OracleCommand myCommand = new OracleCommand(mySelectQuery,myConnection);
  myConnection.Open();
  try
  {
    OracleDataReader myReader = myCommand.ExecuteReader();
	
	// Always call Read before accessing data.
	while (myReader.Read()) 
    {
      Console.WriteLine(myReader.GetInt32(0) + ", " + myReader.GetString(myReader.GetOrdinal("DName")));
    }

	// always call Close when done reading.
	myReader.Close();

	// Close the connection when done with it.
	}
  finally
  {
    myConnection.Close();
  }
} </code><code lang="vb">Public Sub ReadMyData(ByVal myConnString As String)
  Dim mySelectQuery As String = "SELECT DeptNo, DName FROM Test.Dept"
  Dim myConnection As New OracleConnection(myConnString)
  Dim myCommand As New OracleCommand(mySelectQuery, myConnection)
  myConnection.Open()
  Try
    Dim myReader As OracleDataReader = myCommand.ExecuteReader()

    ' Always call Read before accessing data.
    While myReader.Read()
      Console.WriteLine(myReader.GetInt32(0).ToString() + ", " _
          + myReader.GetString(myReader.GetOrdinal("DName")))
    End While
    ' always call Close when done reading.
    myReader.Close()
    
	' Close the connection when done with it.
  Finally
    myConnection.Close()
  End Try
End Sub </code></example>
      <seealso cref="T:Devart.Data.Oracle.OracleConnection" />
      <seealso cref="T:Devart.Data.Oracle.OracleCommand" />
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataReader.Close()">
      <summary>Closes the <see cref="T:Devart.Data.Oracle.OracleDataReader" /> object. </summary>
      <remarks>You must explicitly call the <see cref="M:Devart.Data.Oracle.OracleDataReader.Close" /> method when you are finished using the <see cref="T:Devart.Data.Oracle.OracleDataReader" /> to use the associated <see cref="T:Devart.Data.Oracle.OracleConnection" /> for any other purpose. </remarks>
      <example>The following example creates a <see cref="T:Devart.Data.Oracle.OracleConnection" />, a <see cref="T:Devart.Data.Oracle.OracleCommand" />, and a <see cref="T:Devart.Data.Oracle.OracleDataReader" />. The example reads through the data, writing it out to the console. Finally, the example closes the <see cref="T:Devart.Data.Oracle.OracleDataReader" />, then the <see cref="T:Devart.Data.Oracle.OracleConnection" />. <code lang="csharp">public void ReadMyData(string myConnString)
{
  string mySelectQuery = "SELECT DeptNo, DName FROM Test.Dept";
  OracleConnection myConnection = new OracleConnection(myConnString);
  OracleCommand myCommand = new OracleCommand(mySelectQuery,myConnection);
  myConnection.Open();
  OracleDataReader myReader;
  myReader = myCommand.ExecuteReader();
  // Always call Read before accessing data.
  while (myReader.Read()) {
    Console.WriteLine(myReader.GetInt32(0) + ", " + myReader.GetString(1));
  }
  // always call Close when done reading.
  myReader.Close();
  // Close the connection when done with it.
  myConnection.Close();
} </code><code lang="vb">Public Sub ReadMyData(myConnString As String)
  Dim mySelectQuery As String = "SELECT DeptNo, DName FROM Test.Dept"
  Dim myConnection As New OracleConnection(myConnString)
  Dim myCommand As New OracleCommand(mySelectQuery, myConnection)
  myConnection.Open()
  Dim myReader As OracleDataReader
  myReader = myCommand.ExecuteReader()
  ' Always call Read before accessing data.
  While myReader.Read()
    Console.WriteLine(myReader.GetInt32(0).ToString() + ", " _
      + myReader.GetString(1))
  End While
  ' always call Close when done reading.
  myReader.Close()
  ' Close the connection when done with it.
  myConnection.Close()
End Sub </code></example>
      <seealso cref="T:Devart.Data.Oracle.OracleConnection" />
      <seealso cref="T:Devart.Data.Oracle.OracleCommand" />
      <keywords>OracleDataReader.Close method </keywords>
    </member>
    <member name="P:Devart.Data.Oracle.OracleDataReader.Depth">
      <summary>Gets a value indicating the depth of nesting for the current row. </summary>
      <remarks><para>
You can obtain nested tables from queries using methods <see cref="M:Devart.Data.Oracle.OracleDataReader.GetValue" /> and <see cref="M:Devart.Common.DbDataReader.GetData" />. In this case use property <see cref="P:Devart.Data.Oracle.OracleDataReader.Depth" /> to obtain depth of current result set. Root result set has depth 0.
</para>
<para>
To get nested tables from server you can use queries like this:
</para>
<para>
SELECT CURSOR(SELECT * FROM emp e WHERE e.deptno = d.deptno), d.* FROM dept d
</para> </remarks>
      <keywords>OracleDataReader.Depth property </keywords>
      <value>Depth of nesting for the current row. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleDataReader.EndOfData">
      <summary>Indicates whether the <see cref="T:Devart.Data.Oracle.OracleDataReader" /> has been read completely. </summary>
      <keywords>OracleDataReader.EndOfData property </keywords>
      <value>
        <see langword="true" /> if there is no more data in <see cref="T:Devart.Data.Oracle.OracleDataReader" />. This property is <see langword="false" /> if there is more data to read, or there were no data at all. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleDataReader.FieldCount">
      <summary>Gets the number of columns in the current row. </summary>
      <remarks>After executing a query that does not return rows, <see cref="P:Devart.Data.Oracle.OracleDataReader.FieldCount" /> returns 0. </remarks>
      <example>This sample demonstrates how to iterate through fields in a row using <see cref="P:Devart.Data.Oracle.OracleDataReader.FieldCount" /> property. <code lang="csharp">public void FetchResults(OracleConnection myConnection)
{
  OracleCommand cmd = new OracleCommand("SELECT * FROM Test.Dept");
  cmd.FetchSize = 100;
  cmd.Connection = myConnection;
  myConnection.Open();
  try
  {
    OracleDataReader reader = cmd.ExecuteReader();
    while (reader.Read())
    {
      for (int i=0;i&lt;reader.FieldCount;i++)
      {
        Console.Write("\t"+reader[i]);
      }
      Console.WriteLine();
    }
  }
  finally
  {
    myConnection.Close();
  }
} </code><code lang="vb">Public Sub FetchResults(ByVal myConnection As OracleConnection)
  Dim cmd As OracleCommand = New OracleCommand("SELECT * FROM Test.Dept")
  cmd.FetchSize = 100
  cmd.Connection = myConnection
  myConnection.Open()
  Try
    Dim reader As OracleDataReader = cmd.ExecuteReader()
    While reader.Read()
      Dim i
      For i = 0 To reader.FieldCount - 1
        Console.Write(String.Concat(" ", reader(i)))
      Next i
      Console.WriteLine()
    End While
  Finally
    myConnection.Close()
  End Try
End Sub </code></example>
      <keywords>OracleDataReader.FieldCount property </keywords>
      <value>When not positioned in a valid record set, 0; otherwise the number of columns in the current record. The default value is -1. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataReader.GetBoolean(System.Int32)">
      <summary>Gets the value of the specified column as a Boolean. </summary>
      <example> <code lang="csharp">static void GetMyBoolean(OracleConnection myConnection) {
  OracleCommand cmd = new OracleCommand("SELECT * FROM Test.AllTypes");
  cmd.Connection = myConnection;
  myConnection.Open();
  try {
    OracleDataReader reader = cmd.ExecuteReader();
    reader.Read();
    bool recievedBool = reader.GetBoolean(reader.GetOrdinal("BoolCol"));
    reader.Close();
  }
  finally {
    myConnection.Close();
  }
} </code><code lang="vb">Shared Sub GetMyBoolean(ByVal myConnection As OracleConnection)
  Dim cmd As New OracleCommand("SELECT * FROM Test.AllTypes")
  cmd.Connection = myConnection
  myConnection.Open()
  Try
    Dim reader As OracleDataReader = cmd.ExecuteReader
    reader.Read()
    Dim recievedBool As Boolean = reader.GetBoolean(reader.GetOrdinal("BoolCol"))
    reader.Close()
  Finally
    myConnection.Close()
  End Try
End Sub </code></example>
      <keywords>OracleDataReader.GetBoolean method </keywords>
      <param name="i"> </param>
      <returns>The value of the column. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataReader.GetByte(System.Int32)">
      <summary>Gets the value of the specified column as a byte. </summary>
      <example> <code lang="csharp">static void GetMyByte(OracleConnection myConnection) {
  OracleCommand cmd = new OracleCommand("SELECT * FROM Test.AllTypes");
  cmd.Connection = myConnection;
  myConnection.Open();
  try {
    OracleDataReader reader = cmd.ExecuteReader();
    reader.Read();
    byte recievedByte = reader.GetByte(reader.GetOrdinal("ByteCol"));
    reader.Close();
  }
  finally {
    myConnection.Close();
  }
} </code><code lang="vb">Shared Sub GetMyByte(ByVal myConnection As OracleConnection)
  Dim cmd As New OracleCommand("SELECT * FROM Test.AllTypes")
  cmd.Connection = myConnection
  myConnection.Open()
  Try
    Dim reader As OracleDataReader = cmd.ExecuteReader
    reader.Read()
    Dim recievedByte As Byte = reader.GetByte(reader.GetOrdinal("ByteCol"))
    reader.Close()
  Finally
    myConnection.Close()
  End Try
End Sub </code></example>
      <keywords>OracleDataReader.GetByte method </keywords>
      <param name="i"> </param>
      <returns>The value of the specified column as a byte. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataReader.GetBytes(System.Int32,System.Int64,System.Byte[],System.Int32,System.Int32)">
      <summary>Reads a stream of bytes from the specified column offset into the buffer as an array starting at the given buffer offset. </summary>
      <remarks>
        <see cref="M:Devart.Data.Oracle.OracleDataReader.GetBytes" /> returns the number of available bytes in the field. In most cases this is the exact length of the field. However, the number returned may be less than the true length of the field if <see cref="M:Devart.Data.Oracle.OracleDataReader.GetBytes" /> has already been used to obtain bytes from the field. This may be the case, for example, if the <see cref="T:Devart.Data.Oracle.OracleDataReader" /> is reading a large data structure into a buffer. For more information, see the SequentialAccess setting of <see cref="T:System.Data.CommandBehavior" /> in the Microsoft .NET Framework SDK documentation.
<para>If you pass a buffer that is a null value, <see cref="M:Devart.Data.Oracle.OracleDataReader.GetBytes" /> returns the length of the field in bytes.</para> </remarks>
      <example>This sample shows how to obtain array of bytes from a table and save it to a file. <code lang="csharp">static void GetThatBytes(OracleConnection myConnection)
{
  OracleCommand cmd = new OracleCommand("SELECT * FROM Test.Dept");
  cmd.Connection = myConnection;
  myConnection.Open();
  try
  {
    OracleDataReader reader = cmd.ExecuteReader();
    reader.Read();
    byte[] myBytes = new byte[50];
    long bytesRead = reader.GetBytes(reader.GetOrdinal("DName"),0,myBytes,0,50);
    FileStream fs = new FileStream("D:\\Tmp\\1.txt", FileMode.Create);
    fs.Write(myBytes,0,(int)bytesRead);
    fs.Close();
    Console.WriteLine(bytesRead+ " bytes downloaded from table to file.");
    reader.Close();
  }
  finally
  {
    myConnection.Close();
  }
} </code><code lang="vb">Public Sub GetThatBytes(ByVal myConnection As OracleConnection)
  Dim cmd As OracleCommand = New OracleCommand("SELECT * FROM Test.Dept")
  cmd.Connection = myConnection
  myConnection.Open()
  Try
    Dim reader As OracleDataReader = cmd.ExecuteReader()
    reader.Read()
    Dim myBytes(50) As Byte
    Dim bytesRead As Long = reader.GetBytes(reader.GetOrdinal("DName"), 0, myBytes, 0, 50)
    Dim fs As FileStream = New FileStream("D:\Tmp\1.txt", FileMode.Create)
    fs.Write(myBytes, 0, Convert.ToInt32(bytesRead))
    fs.Close()
    Console.WriteLine(bytesRead &amp; " bytes downloaded from table to file.")
    reader.Close()
  Finally
    myConnection.Close()
  End Try
End Sub </code></example>
      <keywords>OracleDataReader.GetBytes method </keywords>
      <param name="i">The zero-based column ordinal. </param>
      <param name="fieldOffset">The index within the field where the read operation is to begin. </param>
      <param name="buffer">The buffer into which to read the stream of bytes. </param>
      <param name="bufferOffset">The index within the buffer where the write operation is to begin. </param>
      <param name="length">The maximum length to copy into the buffer. </param>
      <returns>
        <para>The actual number of bytes read.</para> </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataReader.GetChar(System.Int32)">
      <summary>Gets the value of the specified column as a single character. </summary>
      <example> <code lang="csharp">static void GetMyChar(OracleConnection myConnection) {
  OracleCommand cmd = new OracleCommand("SELECT * FROM Test.AllTypes");
  cmd.Connection = myConnection;
  myConnection.Open();
  try {
    OracleDataReader reader = cmd.ExecuteReader();
    reader.Read();
    char recievedChar = reader.GetChar(reader.GetOrdinal("CharCol"));
    reader.Close();
  }
  finally {
    myConnection.Close();
  }
} </code><code lang="vb">Shared Sub GetMyChar(ByVal myConnection As OracleConnection)
  Dim cmd As New OracleCommand("SELECT * FROM Test.AllTypes")
  cmd.Connection = myConnection
  myConnection.Open()
  Try
    Dim reader As OracleDataReader = cmd.ExecuteReader
    reader.Read()
    Dim recievedChar As Char = reader.GetChar(reader.GetOrdinal("CharCol"))
    reader.Close()
  Finally
    myConnection.Close()
  End Try
End Sub </code></example>
      <keywords>OracleDataReader.GetChar method </keywords>
      <param name="i"> </param>
      <returns>The value of the specified column as a character. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataReader.GetChars(System.Int32,System.Int64,System.Char[],System.Int32,System.Int32)">
      <summary>Reads a stream of characters from the specified column offset into the buffer as an array starting at the given buffer offset. </summary>
      <remarks>
        <see cref="M:Devart.Data.Oracle.OracleDataReader.GetChars" /> returns the number of available characters in the field. In most cases this is the exact length of the field. However, the number returned may be less than the true length of the field if <see cref="M:Devart.Data.Oracle.OracleDataReader.GetChars" /> has already been used to obtain characters from the field. This may be the case, for example, if the <see cref="T:Devart.Data.Oracle.OracleDataReader" /> is reading a large data structure into a buffer. For more information, see the SequentialAccess setting of <see cref="T:System.Data.CommandBehavior" /> in the Microsoft .NET Framework SDK documentation.
<para>If you pass a buffer that is a null value. <see cref="M:Devart.Data.Oracle.OracleDataReader.GetChars" /> returns the length of the field in characters.</para> </remarks>
      <example>This sample shows how to read data from a field into array of chars. <code lang="csharp">static void GetThatChars(OracleConnection myConnection)
{
  OracleCommand cmd = new OracleCommand("SELECT * FROM Test.Dept");
  cmd.Connection = myConnection;
  myConnection.Open();
  try
  {
    OracleDataReader reader = cmd.ExecuteReader();
    reader.Read();
    char[] myChars = new char[50];
    long bytesRead = reader.GetChars(reader.GetOrdinal("DName"),0,myChars,0,50);
    Console.WriteLine(bytesRead+ " bytes read from the table.");
    Console.WriteLine(myChars);
    reader.Close();
  }
  finally
  {
    myConnection.Close();
  }
} </code><code lang="vb">Public Sub GetThatChars(ByVal myConnection As OracleConnection)
  Dim cmd As OracleCommand = New OracleCommand("SELECT * FROM Test.Dept")
  cmd.Connection = myConnection
  myConnection.Open()
  Try
    Dim reader As OracleDataReader = cmd.ExecuteReader()
    reader.Read()
    Dim myChars(50) As Char
    Dim bytesRead As Long = reader.GetChars(reader.GetOrdinal("DName"), 0, myChars, 0, 50)
    Console.WriteLine(bytesRead &amp; " bytes read from the table.")
    Console.WriteLine(myChars)
    reader.Close()
  Finally
    myConnection.Close()
  End Try
End Sub </code></example>
      <keywords>OracleDataReader.GetChars method </keywords>
      <param name="i">The zero-based column ordinal. </param>
      <param name="fieldOffset">The index within the field where the read operation is to begin. </param>
      <param name="buffer">The buffer into which to copy data. </param>
      <param name="bufferOffset">The index within the buffer where the write operation is to begin. </param>
      <param name="length">The maximum number of characters to read. </param>
      <returns>
        <para>The actual number of characters read.</para> </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataReader.GetDataTypeName(System.Int32)">
      <summary>Gets the name of the source data type. </summary>
      <example>This sample shows how to retrieve names and types of all columns in a table. <code lang="csharp">public void GetFields(OracleConnection myConnection)
{
  OracleCommand cmd = new OracleCommand("SELECT * FROM Test.Dept");
  cmd.Connection = myConnection;
  myConnection.Open();
  try
  {
    OracleDataReader reader = cmd.ExecuteReader();
    reader.Read();
    for (int i=0;i &lt; reader.FieldCount;i++)
    {
      string fieldType = reader.GetDataTypeName(i);
      string fieldName = reader.GetName(i);
      string fieldType2 = reader.GetFieldType(i).FullName;
      Console.WriteLine(fieldName+"\t"+ fieldType+"\t"+ fieldType2);
    }        
    reader.Close();
  }
  finally
  {
    myConnection.Close();
  }
} </code><code lang="vb">Public Sub GetFields(ByVal myConnection As OracleConnection)
  Dim cmd As OracleCommand = New OracleCommand("SELECT * FROM Test.Dept")
  cmd.Connection = myConnection
  myConnection.Open()
  Try
    Dim reader As OracleDataReader = cmd.ExecuteReader()
    reader.Read()
    Dim i As Integer
    For i = 0 To reader.FieldCount - 1
      Dim fieldType As String = reader.GetDataTypeName(i)
      Dim fieldName As String = reader.GetName(i)
      Dim fieldType2 As String = reader.GetFieldType(i).FullName
      Console.WriteLine(fieldName &amp; Chr(9) &amp; fieldType &amp; Chr(9) &amp; fieldType2)
    Next i
    reader.Close()
  Finally
    myConnection.Close()
  End Try
End Sub </code></example>
      <seealso cref="M:Devart.Data.Oracle.OracleDataReader.GetFieldType" />
      <seealso cref="M:Devart.Data.Oracle.OracleDataReader.GetName" />
      <keywords>OracleDataReader.GetDataTypeName method </keywords>
      <param name="i"> </param>
      <returns>The name of the back-end data type. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataReader.GetDateTime(System.Int32)">
      <summary>Gets the value of the specified column as a <see cref="T:System.DateTime" /> object. </summary>
      <remarks>
        <para>Call <see cref="M:Devart.Common.DbDataReader.IsDBNull(System.Int32)" /> to check for null values before calling this method.</para> </remarks>
      <example> <code lang="csharp">static void GetMyDateTime(OracleConnection myConnection) {
  OracleCommand cmd = new OracleCommand("SELECT * FROM Test.AllTypes");
  cmd.Connection = myConnection;
  myConnection.Open();
  try {
    OracleDataReader reader = cmd.ExecuteReader();
    reader.Read();
    DateTime recievedDate = reader.GetDateTime(reader.GetOrdinal("DateCol"));
    reader.Close();
  }
  finally {
    myConnection.Close();
  }
} </code><code lang="vb">Shared Sub GetMyDateTime(ByVal myConnection As OracleConnection)
  Dim cmd As New OracleCommand("SELECT * FROM Test.AllTypes")
  cmd.Connection = myConnection
  myConnection.Open()
  Try
    Dim reader As OracleDataReader = cmd.ExecuteReader
    reader.Read()
    Dim recievedDate As DateTime = reader.GetDateTime(reader.GetOrdinal("DateCol"))
    reader.Close()
  Finally
    myConnection.Close()
  End Try
End Sub </code></example>
      <keywords>OracleDataReader.GetDateTime method </keywords>
      <param name="i"> </param>
      <returns>The value of the specified column. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataReader.GetDateTimeOffset(System.Int32)">
      <summary>Gets the value of the specified column as an DateTimeOffset object. </summary>
      <keywords>OracleDataReader.GetDateTimeOffset method </keywords>
      <param name="i">The zero-based column ordinal. </param>
      <returns>The value of the specified column as an DateTimeOffset object. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataReader.GetDecimal(System.Int32)">
      <summary>Gets the value of the specified column as a <see cref="T:System.Decimal" /> object. </summary>
      <example> <code lang="csharp">static void GetMyDecimal(OracleConnection myConnection) {
  OracleCommand cmd = new OracleCommand("SELECT * FROM Test.AllTypes");
  cmd.Connection = myConnection;
  myConnection.Open();
  try {
    OracleDataReader reader = cmd.ExecuteReader();
    reader.Read();
    decimal recievedDecimal = reader.GetDecimal(reader.GetOrdinal("DecimalCol"));
    reader.Close();
  }
  finally {
    myConnection.Close();
  }
} </code><code lang="vb">Shared Sub GetMyDecimal(ByVal myConnection As OracleConnection)
  Dim cmd As New OracleCommand("SELECT * FROM Test.AllTypes")
  cmd.Connection = myConnection
  myConnection.Open()
  Try
    Dim reader As OracleDataReader = cmd.ExecuteReader
    reader.Read()
    Dim recievedDecimal As Decimal = reader.GetDecimal(reader.GetOrdinal("DecimalCol"))
    reader.Close()
  Finally
    myConnection.Close()
  End Try
End Sub </code></example>
      <keywords>OracleDataReader.GetDecimal method </keywords>
      <param name="i"> </param>
      <returns>The value of the specified column. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataReader.GetDouble(System.Int32)">
      <summary>Gets the value of the specified column as a double-precision floating point number. </summary>
      <remarks>
        <para>Call <see cref="M:Devart.Data.Oracle.OracleDataReader.IsDBNull" /> to check for null values before calling this method.</para> </remarks>
      <example> <code lang="csharp">static void GetMyDouble(OracleConnection myConnection) {
  OracleCommand cmd = new OracleCommand("SELECT * FROM Test.AllTypes");
  cmd.Connection = myConnection;
  myConnection.Open();
  try {
    OracleDataReader reader = cmd.ExecuteReader();
    reader.Read();
    double recievedDouble = reader.GetDouble(reader.GetOrdinal("DoubleCol"));
    reader.Close();
  }
  finally {
    myConnection.Close();
  }
} </code><code lang="vb">Shared Sub GetMyDouble(ByVal myConnection As OracleConnection)
  Dim cmd As New OracleCommand("SELECT * FROM Test.AllTypes")
  cmd.Connection = myConnection
  myConnection.Open()
  Try
    Dim reader As OracleDataReader = cmd.ExecuteReader
    reader.Read()
    Dim recievedDouble As Double = reader.GetDouble(reader.GetOrdinal("DoubleCol"))
    reader.Close()
  Finally
    myConnection.Close()
  End Try
End Sub </code></example>
      <keywords>OracleDataReader.GetDouble method </keywords>
      <param name="i"> </param>
      <returns>The value of the specified column. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataReader.GetFieldType(System.Int32)">
      <summary>Gets the <see cref="T:System.Type" /> that is the data type of the object. </summary>
      <example>This sample shows how to retrieve names and types of all columns in a table. <code lang="csharp">public void GetFields(OracleConnection myConnection)
{
  OracleCommand cmd = new OracleCommand("SELECT * FROM Test.Dept");
  cmd.Connection = myConnection;
  myConnection.Open();
  try
  {
    OracleDataReader reader = cmd.ExecuteReader();
    reader.Read();
    for (int i=0;i &lt; reader.FieldCount;i++)
    {
      string fieldType = reader.GetDataTypeName(i);
      string fieldName = reader.GetName(i);
      string fieldType2 = reader.GetFieldType(i).FullName;
      Console.WriteLine(fieldName+"\t"+ fieldType+"\t"+ fieldType2);
    }        
    reader.Close();
  }
  finally
  {
    myConnection.Close();
  }
} </code><code lang="vb">Public Sub GetFields(ByVal myConnection As OracleConnection)
  Dim cmd As OracleCommand = New OracleCommand("SELECT * FROM Test.Dept")
  cmd.Connection = myConnection
  myConnection.Open()
  Try
    Dim reader As OracleDataReader = cmd.ExecuteReader()
    reader.Read()
    Dim i As Integer
    For i = 0 To reader.FieldCount - 1
      Dim fieldType As String = reader.GetDataTypeName(i)
      Dim fieldName As String = reader.GetName(i)
      Dim fieldType2 As String = reader.GetFieldType(i).FullName
      Console.WriteLine(fieldName &amp; Chr(9) &amp; fieldType &amp; Chr(9) &amp; fieldType2)
    Next i
    reader.Close()
  Finally
    myConnection.Close()
  End Try
End Sub </code></example>
      <seealso cref="M:Devart.Data.Oracle.OracleDataReader.GetName" />
      <keywords>OracleDataReader.GetFieldType method </keywords>
      <param name="i"> </param>
      <returns>The <see cref="T:System.Type" /> that is the data type of the object. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataReader.GetFloat(System.Int32)">
      <summary>Gets the value of the specified column as a single-precision floating point number. </summary>
      <remarks>
        <para>Call <see cref="M:Devart.Data.Oracle.OracleDataReader.IsDBNull" /> to check for null values before calling this method.</para> </remarks>
      <example> <code lang="csharp">static void GetMyFloat(OracleConnection myConnection) {
  OracleCommand cmd = new OracleCommand("SELECT * FROM Test.AllTypes");
  cmd.Connection = myConnection;
  myConnection.Open();
  try {
    OracleDataReader reader = cmd.ExecuteReader();
    reader.Read();
    float recievedFloat = reader.GetFloat(reader.GetOrdinal("FloatCol"));
    reader.Close();
  }
  finally {
    myConnection.Close();
  }
} </code><code lang="vb">Shared Sub GetMyFloat(ByVal myConnection As OracleConnection)
  Dim cmd As New OracleCommand("SELECT * FROM Test.AllTypes")
  cmd.Connection = myConnection
  myConnection.Open()
  Try
    Dim reader As OracleDataReader = cmd.ExecuteReader
    reader.Read()
    Dim recievedFloat As Single = reader.GetFloat(reader.GetOrdinal("FloatCol"))
    reader.Close()
  Finally
    myConnection.Close()
  End Try
End Sub </code></example>
      <keywords>OracleDataReader.GetFloat method </keywords>
      <param name="i"> </param>
      <returns>The value of the specified column. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataReader.GetGuid(System.Int32)">
      <summary>Gets the value of the specified column as a globally-unique identifier (GUID). </summary>
      <example> <code lang="csharp">static void GetMyGuid(OracleConnection myConnection) {
  OracleCommand cmd = new OracleCommand("SELECT * FROM Test.AllTypes");
  cmd.Connection = myConnection;
  myConnection.Open();
  try {
    OracleDataReader reader = cmd.ExecuteReader();
    reader.Read();
    Guid recievedGuid = reader.GetGuid(reader.GetOrdinal("GuidCol"));
    reader.Close();
  }
  finally {
    myConnection.Close();
  }
} </code><code lang="vb">Shared Sub GetMyGuid(ByVal myConnection As OracleConnection)
  Dim cmd As New OracleCommand("SELECT * FROM Test.AllTypes")
  cmd.Connection = myConnection
  myConnection.Open()
  Try
    Dim reader As OracleDataReader = cmd.ExecuteReader
    reader.Read()
    Dim recievedGuid As Guid = reader.GetGuid(reader.GetOrdinal("GuidCol"))
    reader.Close()
  Finally
    myConnection.Close()
  End Try
End Sub </code></example>
      <keywords>OracleDataReader.GetGuid method </keywords>
      <param name="i"> </param>
      <returns>The value of the specified column. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataReader.GetInt16(System.Int32)">
      <summary>Gets the value of the specified column as a 16-bit signed integer. </summary>
      <remarks>
        <para>Call <see cref="M:Devart.Data.Oracle.OracleDataReader.IsDBNull" /> to check for null values before calling this method.</para> </remarks>
      <example> <code lang="csharp">static void GetMyInt16(OracleConnection myConnection) {
  OracleCommand cmd = new OracleCommand("SELECT * FROM Test.AllTypes");
  cmd.Connection = myConnection;
  myConnection.Open();
  try {
    OracleDataReader reader = cmd.ExecuteReader();
    reader.Read();
    short recievedShort = reader.GetInt16(reader.GetOrdinal("Int16Col"));
    reader.Close();
  }
  finally {
    myConnection.Close();
  }
} </code><code lang="vb">Shared Sub GetMyInt16(ByVal myConnection As OracleConnection)
  Dim cmd As New OracleCommand("SELECT * FROM Test.AllTypes")
  cmd.Connection = myConnection
  myConnection.Open()
  Try
    Dim reader As OracleDataReader = cmd.ExecuteReader
    reader.Read()
    Dim recievedShort As Short = reader.GetInt16(reader.GetOrdinal("Int16Col"))
    reader.Close()
  Finally
    myConnection.Close()
  End Try
End Sub </code></example>
      <keywords>OracleDataReader.GetInt16 method </keywords>
      <param name="i"> </param>
      <returns>The value of the specified column. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataReader.GetInt32(System.Int32)">
      <summary>Gets the value of the specified column as a 32-bit signed integer. </summary>
      <remarks>
        <para>Call <see cref="M:Devart.Data.Oracle.OracleDataReader.IsDBNull" /> to check for null values before calling this method.</para> </remarks>
      <example> <code lang="csharp">static void GetMyInt32(OracleConnection myConnection) {
  OracleCommand cmd = new OracleCommand("SELECT * FROM Test.AllTypes");
  cmd.Connection = myConnection;
  myConnection.Open();
  try {
    OracleDataReader reader = cmd.ExecuteReader();
    reader.Read();
    int recievedInt = reader.GetInt32(reader.GetOrdinal("Int32Col"));
    reader.Close();
  }
  finally {
    myConnection.Close();
  }
} </code></example>
      <keywords>OracleDataReader.GetInt32 method </keywords>
      <param name="i"> </param>
      <returns>The value of the specified column. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataReader.GetInt64(System.Int32)">
      <summary>Gets the value of the specified column as a 64-bit signed integer. </summary>
      <remarks>
        <para>Call <see cref="M:Devart.Data.Oracle.OracleDataReader.IsDBNull" /> to check for null values before calling this method.</para> </remarks>
      <example> <code lang="csharp">static void GetMyInt64(OracleConnection myConnection) {
  OracleCommand cmd = new OracleCommand("SELECT * FROM Test.AllTypes");
  cmd.Connection = myConnection;
  myConnection.Open();
  try {
    OracleDataReader reader = cmd.ExecuteReader();
    reader.Read();
    long recievedLong = reader.GetInt64(reader.GetOrdinal("Int64Col"));
    reader.Close();
  }
  finally {
    myConnection.Close();
  }
} </code></example>
      <keywords>OracleDataReader.GetInt64 method </keywords>
      <param name="i"> </param>
      <returns>The value of the specified column. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataReader.GetName(System.Int32)">
      <summary>
        <para>Gets the name of the specified column.</para> </summary>
      <example>This sample shows how to retrieve names and types of all columns in a table. <code lang="csharp">public void GetFields(OracleConnection myConnection)
{
  OracleCommand cmd = new OracleCommand("SELECT * FROM Test.Dept");
  cmd.Connection = myConnection;
  myConnection.Open();
  try
  {
    OracleDataReader reader = cmd.ExecuteReader();
    reader.Read();
    for (int i=0;i &lt; reader.FieldCount;i++)
    {
      string fieldType = reader.GetDataTypeName(i);
      string fieldName = reader.GetName(i);
      string fieldType2 = reader.GetFieldType(i).FullName;
      Console.WriteLine(fieldName+"\t"+ fieldType+"\t"+ fieldType2);
    }        
    reader.Close();
  }
  finally
  {
    myConnection.Close();
  }
} </code><code lang="vb">Public Sub GetFields(ByVal myConnection As OracleConnection
  Dim cmd As OracleCommand = New OracleCommand("SELECT * FROM Test.Dept")
  cmd.Connection = myConnection
  myConnection.Open()
  Try
    Dim reader As OracleDataReader = cmd.ExecuteReader()
    reader.Read()
    Dim i As Integer
    For i = 0 To reader.FieldCount - 1
      Dim fieldType As String = reader.GetDataTypeName(i)
      Dim fieldName As String = reader.GetName(i)
      Console.WriteLine(fieldName &amp; " " &amp; fieldType)
    Next i
    reader.Close()
  Finally
    myConnection.Close()
  End Try
End Sub </code></example>
      <seealso cref="M:Devart.Data.Oracle.OracleDataReader.GetFieldType" />
      <keywords>OracleDataReader.GetName method </keywords>
      <param name="i"> </param>
      <returns>
        <para>A string that is the name of the specified column.</para> </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataReader.GetNativeOracleArray(System.Int32)">
      <summary>Gets the value of the specified column as an <see cref="T:Devart.Data.Oracle.NativeOracleArray" /> object. </summary>
      <keywords>OracleDataReader.GetNativeOracleArray method </keywords>
      <param name="i">The zero-based column ordinal. </param>
      <returns>The value of the specified column as an <see cref="T:Devart.Data.Oracle.NativeOracleArray" /> object. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataReader.GetNativeOracleObject(System.Int32)">
      <summary>Gets the value of the specified column as an <see cref="T:Devart.Data.Oracle.NativeOracleObject" /> object. </summary>
      <keywords>OracleDataReader.GetNativeOracleObject method </keywords>
      <param name="i">The zero-based column ordinal. </param>
      <returns>The value of the specified column as an <see cref="T:Devart.Data.Oracle.NativeOracleObject" /> object. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataReader.GetNativeOracleTable(System.Int32)">
      <summary>Gets the value of the specified column as an <see cref="T:Devart.Data.Oracle.NativeOracleTable" /> object. </summary>
      <keywords>OracleDataReader.GetNativeOracleTable method </keywords>
      <param name="i">The zero-based column ordinal. </param>
      <returns>The value of the specified column as an <see cref="T:Devart.Data.Oracle.NativeOracleTable" /> object. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataReader.GetObjectType(System.Int32)">
      <summary>Gets the value of the specified column as an <see cref="T:Devart.Data.Oracle.OracleType" /> object. </summary>
      <keywords>OracleDataReader.GetObjectType method </keywords>
      <param name="i">The zero-based column ordinal. </param>
      <returns>The value of the specified column as an <see cref="T:Devart.Data.Oracle.OracleType" /> object. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataReader.GetOracleAnyData(System.Int32)">
      <summary>Gets the value of the specified column as an <see cref="T:Devart.Data.Oracle.OracleAnyData" /> object. </summary>
      <seealso cref="T:Devart.Data.Oracle.OracleAnyData" />
      <keywords>OracleDataReader.GetOracleAnyData method </keywords>
      <param name="i">The zero-based column ordinal. </param>
      <returns>The value of the specified column as an <see cref="T:Devart.Data.Oracle.OracleAnyData" /> object. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataReader.GetOracleArray(System.Int32)">
      <summary>Gets the value of the specified column as an <see cref="T:Devart.Data.Oracle.OracleArray" /> object. </summary>
      <keywords>OracleDataReader.GetOracleArray method </keywords>
      <param name="i">The zero-based column ordinal. </param>
      <returns>The value of the specified column as an <see cref="T:Devart.Data.Oracle.OracleArray" /> object. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataReader.GetOracleBFile(System.Int32)">
      <summary>Gets the value of the specified column as an <see cref="T:Devart.Data.Oracle.OracleBFile" /> object. </summary>
      <keywords>OracleDataReader.GetOracleBFile method </keywords>
      <param name="i">The zero-based column ordinal. </param>
      <returns>The value of the specified column as an <see cref="T:Devart.Data.Oracle.OracleBFile" /> object. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataReader.GetOracleBinary(System.Int32)">
      <summary>Gets the value of the specified column as an <see cref="T:Devart.Data.Oracle.OracleBinary" /> object. </summary>
      <keywords>OracleDataReader.GetOracleBinary method </keywords>
      <param name="i">The zero-based column ordinal. </param>
      <returns>The value of the specified column as an <see cref="T:Devart.Data.Oracle.OracleBinary" /> object. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataReader.GetOracleCursor(System.Int32)">
      <summary>Gets the value of the specified column as an <see cref="T:Devart.Data.Oracle.OracleCursor" /> object. </summary>
      <keywords>OracleDataReader.GetOracleCursor method </keywords>
      <param name="i">The zero-based column ordinal. </param>
      <returns>The value of the specified column as an <see cref="T:Devart.Data.Oracle.OracleCursor" /> object. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataReader.GetOracleDate(System.Int32)">
      <summary>Gets the value of the specified column as an <see cref="T:Devart.Data.Oracle.OracleDate" /> object. </summary>
      <keywords>OracleDataReader.GetOracleDate method </keywords>
      <param name="i">The zero-based column ordinal. </param>
      <returns>The value of the specified column as an <see cref="T:Devart.Data.Oracle.OracleDate" /> object. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataReader.GetOracleDateTime(System.Int32)">
      <summary>Gets the value of the specified column as an <see cref="T:Devart.Data.Oracle.OracleDateTime" /> object. </summary>
      <keywords>OracleDataReader.GetOracleDateTime method </keywords>
      <param name="i">The zero-based column ordinal. </param>
      <returns>The value of the specified column as an <see cref="T:Devart.Data.Oracle.OracleDateTime" /> object. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataReader.GetOracleIntervalDS(System.Int32)">
      <summary>Gets the value of the specified column as an <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> object. </summary>
      <keywords>OracleDataReader.GetOracleIntervalDS method </keywords>
      <param name="i">The zero-based column ordinal. </param>
      <returns>The value of the specified column as an <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> object. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataReader.GetOracleIntervalYM(System.Int32)">
      <summary>Gets the value of the specified column as an <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> object. </summary>
      <keywords>OracleDataReader.GetOracleIntervalYM method </keywords>
      <param name="i">The zero-based column ordinal. </param>
      <returns>The value of the specified column as an <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> object. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataReader.GetOracleLob(System.Int32)">
      <summary>Gets the value of the specified column as a <see cref="T:Devart.Data.Oracle.OracleLob" /> object. </summary>
      <remarks>
<para>Refer to <a href="Lob.html">"Working with BLOB and CLOB Data"</a> article for detailed information.</para> </remarks>
      <example>This example shows how to download a LOB field from a table using <see cref="M:Devart.Data.Oracle.OracleDataReader.GetOracleLob" /> method. <code lang="csharp">public void DownloadLob(OracleConnection myConnection)
{
  OracleCommand myCommand = new OracleCommand("SELECT * FROM Test.Pictures", myConnection);
  myConnection.Open();
  OracleDataReader myReader = myCommand.ExecuteReader(System.Data.CommandBehavior.Default);
  try
  {
    while (myReader.Read())
    {
      OracleLob myLob = myReader.GetOracleLob(myReader.GetOrdinal("Picture"));
      if(!myLob.IsNull)
      {
        string FN = myReader.GetString(myReader.GetOrdinal("PicName"));
        FileStream fs = new FileStream("D:\\Tmp\\"+FN+".bmp", FileMode.Create);
        BinaryWriter w = new BinaryWriter(fs);
        w.Write(myLob.Value);
        w.Close();
        fs.Close();
        Console.WriteLine(FN+" downloaded.");
      }
    }
  }
  finally
  {
    myReader.Close();
    myConnection.Close();
  }
} </code><code lang="vb">Public Sub DownloadLob(ByVal myConnection As OracleConnection)
  Dim myCommand As New OracleCommand("SELECT * FROM Test.Pictures", myConnection)
  myConnection.Open()
  Dim myReader As OracleDataReader = myCommand.ExecuteReader(System.Data.CommandBehavior.Default)
  Try
    While myReader.Read()
      Dim myLob As OracleLob = myReader.GetOracleLob(myReader.GetOrdinal("Picture"))
      If Not myLob.IsNull Then
        Dim FN As String = myReader.GetString(myReader.GetOrdinal("PicName"))
        Dim fs As FileStream = New FileStream("D:\Tmp\" + FN + ".bmp", FileMode.Create)
        Dim w As BinaryWriter = New BinaryWriter(fs)
        w.Write(myLob.Value)
        w.Close()
        fs.Close()
        Console.WriteLine(String.Concat(FN, " downloaded."))
      End If
    End While
  Finally
    myReader.Close()
    myConnection.Close()
  End Try
End Sub </code></example>
      <seealso cref="T:Devart.Data.Oracle.OracleLob" />
      <keywords>OracleDataReader.GetOracleLob method </keywords>
      <param name="i">The zero-based column ordinal. </param>
      <returns>The value of the specified column as a <see cref="T:Devart.Data.Oracle.OracleLob" /> object. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataReader.GetOracleMonthSpan(System.Int32)">
      <summary>Gets the value of the specified column as an OracleMonthSpan object. </summary>
      <keywords>OracleDataReader.GetOracleMonthSpan method </keywords>
      <param name="i">The zero-based column ordinal. </param>
      <returns>The value of the specified column as an OracleMonthSpan object. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataReader.GetOracleNumber(System.Int32)">
      <summary>Gets the value of the specified column as an <see cref="T:Devart.Data.Oracle.OracleNumber" /> object. </summary>
      <keywords>OracleDataReader.GetOracleNumber method </keywords>
      <param name="i">The zero-based column ordinal. </param>
      <returns>The value of the specified column as an <see cref="T:Devart.Data.Oracle.OracleNumber" /> object. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataReader.GetOracleObject(System.Int32)">
      <summary>Gets the value of the specified column as an <see cref="T:Devart.Data.Oracle.OracleObject" /> object. </summary>
      <keywords>OracleDataReader.GetOracleObject method </keywords>
      <param name="i">The zero-based column ordinal. </param>
      <returns>The value of the specified column as an <see cref="T:Devart.Data.Oracle.OracleObject" /> object. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataReader.GetOracleRef(System.Int32)">
      <summary>Gets the value of the specified column as an <see cref="T:Devart.Data.Oracle.OracleRef" /> object. </summary>
      <keywords>OracleDataReader.GetOracleRef method </keywords>
      <param name="i">The zero-based column ordinal. </param>
      <returns>The value of the specified column as an <see cref="T:Devart.Data.Oracle.OracleRef" /> object. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataReader.GetOracleString(System.Int32)">
      <summary>Gets the value of the specified column as an <see cref="T:Devart.Data.Oracle.OracleString" /> object. </summary>
      <keywords>OracleDataReader.GetOracleString method </keywords>
      <param name="i">The zero-based column ordinal. </param>
      <returns>The value of the specified column as an <see cref="T:Devart.Data.Oracle.OracleString" /> object. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataReader.GetOracleTable(System.Int32)">
      <summary>Gets the value of the specified column as an <see cref="T:Devart.Data.Oracle.OracleTable" /> object. </summary>
      <keywords>OracleDataReader.GetOracleTable method </keywords>
      <param name="i">The zero-based column ordinal. </param>
      <returns>The value of the specified column as an <see cref="T:Devart.Data.Oracle.OracleTable" /> object. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataReader.GetOracleTimeSpan(System.Int32)">
      <summary>Gets the value of the specified column as an OracleTimeSpan object. </summary>
      <keywords>OracleDataReader.GetOracleTimeSpan method </keywords>
      <param name="i">The zero-based column ordinal. </param>
      <returns>The value of the specified column as an OracleTimeSpan object. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataReader.GetOracleTimeStamp(System.Int32)">
      <summary>Gets the value of the specified column as an <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> object. </summary>
      <keywords>OracleDataReader.GetOracleTimeStamp method </keywords>
      <param name="i">The zero-based column ordinal. </param>
      <returns>The value of the specified column as an <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> object. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataReader.GetOracleValue(System.Int32)">
      <summary>Gets the value of the column at the specified ordinal in its Oracle format wrapped by dotConnect for Oracle. </summary>
      <remarks><see cref="M:Devart.Data.Oracle.OracleDataReader.GetOracleValue" /> returns data using the native Oracle types. To retrieve data using the .NET Framework types, see <see cref="M:Devart.Data.Oracle.OracleDataReader.GetValue" /> method. </remarks>
      <keywords>OracleDataReader.GetOracleValue method </keywords>
      <param name="i">The zero-based column ordinal. </param>
      <returns>The value of the column as the dotConnect for Oracle wrapped type. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataReader.GetOracleValues(System.Object[])">
      <summary>Gets all the column values as the dotConnect for Oracle wrapped types. </summary>
      <keywords>OracleDataReader.GetOracleValues method </keywords>
      <param name="values">An array of objects to hold the dotConnect for Oracle wrapped types as the column values. </param>
      <returns>The number of dotConnect for Oracle wrapped types. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataReader.GetOracleXml(System.Int32)">
      <summary>Gets the value of the specified column as an <see cref="T:Devart.Data.Oracle.OracleXml" /> object. </summary>
      <keywords>OracleDataReader.GetOracleXml method </keywords>
      <param name="i">The zero-based column ordinal. </param>
      <returns>The value of the specified column as an <see cref="T:Devart.Data.Oracle.OracleXml" /> object. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataReader.GetProviderSpecificFieldType(System.Int32)">
      <summary>Gets the <see cref="T:System.Type" /> that is the provider-specific data type of the object. </summary>
      <example> <code lang="csharp">static void GetMyFieldType(OracleConnection myConnection) {
  OracleCommand cmd = new OracleCommand("SELECT * FROM Test.AllTypes");
  cmd.Connection = myConnection;
  myConnection.Open();
  try {
    OracleDataReader reader = cmd.ExecuteReader();
    reader.Read();

    for (short i = 0; i &lt; reader.FieldCount; i++) {
      object someValue = reader.GetProviderSpecificValue(i);
      Console.Write(reader.GetProviderSpecificFieldType(i).FullName + " : ");
      Console.WriteLine(someValue.ToString());
    }

    reader.Close();
  }
  finally {
    myConnection.Close();
  }
} </code><code lang="vb">Shared Sub GetMyFieldType(ByVal myConnection As OracleConnection)
  Dim cmd As New OracleCommand("SELECT * FROM Test.AllTypes")
  cmd.Connection = myConnection
  myConnection.Open()
  Try
    Dim reader As OracleDataReader = cmd.ExecuteReader
    reader.Read()
    For i As Short = 0 To reader.FieldCount - 1
      Dim someValue As Object = reader.GetProviderSpecificValue(i)
      Console.Write((reader.GetProviderSpecificFieldType(i).FullName &amp; " : "))
      Console.WriteLine(someValue.ToString)
    Next i
    reader.Close()
  Finally
    myConnection.Close()
  End Try
End Sub </code></example>
      <keywords>OracleDataReader.GetProviderSpecificFieldType method </keywords>
      <param name="i"> </param>
      <returns>The <see cref="T:System.Type" /> that is the provider-specific data type of the object. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataReader.GetProviderSpecificValue(System.Int32)">
      <summary>Gets the value of the specified column. If possible, a provider-specific type is used. </summary>
      <remarks>This method returns <see cref="T:System.DBNull" /> for null database columns. </remarks>
      <example> <code lang="csharp">static void GetMyFieldType(OracleConnection myConnection) {
  OracleCommand cmd = new OracleCommand("SELECT * FROM Test.AllTypes");
  cmd.Connection = myConnection;
  myConnection.Open();
  try {
    OracleDataReader reader = cmd.ExecuteReader();
    reader.Read();

    for (short i = 0; i &lt; reader.FieldCount; i++) {
      object someValue = reader.GetProviderSpecificValue(i);
      Console.Write(reader.GetProviderSpecificFieldType(i).FullName + " : ");
      Console.WriteLine(someValue.ToString());
    }

    reader.Close();
  }
  finally {
    myConnection.Close();
  }
} </code><code lang="vb">Shared Sub GetMyFieldType(ByVal myConnection As OracleConnection)
  Dim cmd As New OracleCommand("SELECT * FROM Test.AllTypes")
  cmd.Connection = myConnection
  myConnection.Open()
  Try
    Dim reader As OracleDataReader = cmd.ExecuteReader
    reader.Read()
    For i As Short = 0 To reader.FieldCount - 1
      Dim someValue As Object = reader.GetProviderSpecificValue(i)
      Console.Write((reader.GetProviderSpecificFieldType(i).FullName &amp; " : "))
      Console.WriteLine(someValue.ToString)
    Next i
    reader.Close()
  Finally
    myConnection.Close()
  End Try
End Sub </code></example>
      <keywords>OracleDataReader.GetProviderSpecificValue method </keywords>
      <param name="i"> </param>
      <returns>The value to return. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataReader.GetProviderSpecificValues(System.Object[])">
      <summary>Gets all columns in the collection for the current row. If possible, a provider-specific type is used. </summary>
      <remarks>This method is equivalent to the <see cref="M:Devart.Data.Oracle.OracleDataReader.GetValues(System.Object[])" /> method, the only difference is that this method uses a provider-specific type whenever possible. </remarks>
      <example> <code lang="csharp">static void GetMyValues(OracleConnection myConnection) {
  OracleCommand cmd = new OracleCommand("SELECT * FROM Test.Dept");
  cmd.Connection = myConnection;
  myConnection.Open();
  try
  {
    OracleDataReader reader = cmd.ExecuteReader();
    reader.Read();

    object[] someValues = new object[5];
    int number = reader.GetProviderSpecificValues(someValues);

    for (short i = 0; i &lt; number; i++)
    {
      Console.WriteLine(someValues[i].ToString());
    }

    reader.Close();
  }
  finally
  {
    myConnection.Close();
  }
} </code><code lang="vb">Shared Sub GetMyValues(ByVal myConnection As OracleConnection)
  Dim cmd As New OracleCommand("SELECT * FROM Test.Dept")
  cmd.Connection = myConnection
  myConnection.Open()
  Try
    Dim reader As OracleDataReader = cmd.ExecuteReader
    reader.Read()
    Dim someValues As Object() = New Object() {}
    Dim number As Integer = reader.GetProviderSpecificValues(someValues)
    For i As Short = 0 To number - 1
      Console.WriteLine(someValues(i).ToString)
    Next i
    reader.Close()
  Finally
    myConnection.Close()
  End Try
End Sub </code></example>
      <keywords>OracleDataReader.GetProviderSpecificValues method </keywords>
      <param name="values">An array of <see cref="T:System.Object" /> into which to copy the columns. </param>
      <returns>The number of instances of <see cref="T:System.Object" /> in the array. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataReader.GetString(System.Int32)">
      <summary>Gets the value of the specified column as a string. </summary>
      <remarks>
        <para>Call <see cref="M:Devart.Data.Oracle.OracleDataReader.IsDBNull" /> to check for null values before calling this method.</para> </remarks>
      <example> <code lang="csharp">static void GetMyString(OracleConnection myConnection) {
  OracleCommand cmd = new OracleCommand("SELECT * FROM Test.AllTypes");
  cmd.Connection = myConnection;
  myConnection.Open();
  try
  {
    OracleDataReader reader = cmd.ExecuteReader();
    reader.Read();
    string recievedString = reader.GetString(reader.GetOrdinal("StringCol"));
    reader.Close();
  }
  finally
  {
    myConnection.Close();
  }
} </code><code lang="vb">Shared Sub GetMyString(ByVal myConnection As OracleConnection)
  Dim cmd As New OracleCommand("SELECT * FROM Test.AllTypes")
  cmd.Connection = myConnection
  myConnection.Open()
  Try
    Dim reader As OracleDataReader = cmd.ExecuteReader
    reader.Read()
    Dim recievedString As String = reader.GetString(reader.GetOrdinal("StringCol"))
    reader.Close()
  Finally
    myConnection.Close()
  End Try
End Sub </code></example>
      <keywords>OracleDataReader.GetString method </keywords>
      <param name="i"> </param>
      <returns>The value of the specified column. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataReader.GetTimeSpan(System.Int32)">
      <summary>Gets the value of the specified column as a System.TimeSpan. </summary>
      <remarks>
        <para>Call <see cref="M:Devart.Data.Oracle.OracleDataReader.IsDBNull" /> to check for null values before calling this method.</para> </remarks>
      <example> <code lang="csharp">static void GetMyTimeSpan(OracleConnection myConnection)
{
  OracleCommand cmd = new OracleCommand("SELECT * FROM Test.AllTypes");
  cmd.Connection = myConnection;
  myConnection.Open();
  try {
    OracleDataReader reader = cmd.ExecuteReader();
    reader.Read();
    TimeSpan recievedTime = reader.GetTimeSpan(reader.GetOrdinal("TimeCol"));
    reader.Close();
  }
  finally
  {
    myConnection.Close();
  }
} </code><code lang="vb">Shared Sub GetMyTimeSpan(ByVal myConnection As OracleConnection)
  Dim cmd As New OracleCommand("SELECT * FROM Test.AllTypes")
  cmd.Connection = myConnection
  myConnection.Open()
  Try
    Dim reader As OracleDataReader = cmd.ExecuteReader
    reader.Read()
    Dim recievedTime As TimeSpan = reader.GetTimeSpan(reader.GetOrdinal("TimeCol"))
    reader.Close()
  Finally
    myConnection.Close()
  End Try
End Sub </code></example>
      <keywords>OracleDataReader.GetTimeSpan method </keywords>
      <param name="i">The zero-based column ordinal. </param>
      <returns>The value of the specified column as a System.TimeSpan. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataReader.GetValue(System.Int32)">
      <summary>Gets the value of the specified column in its native format. </summary>
      <remarks>This method returns <see cref="T:System.DBNull" /> for null database columns. </remarks>
      <example> <code lang="csharp">static void GetMyValue(OracleConnection myConnection)
{
  OracleCommand cmd = new OracleCommand("SELECT * FROM Test.AllTypes");
  cmd.Connection = myConnection;
  myConnection.Open();
  try
  {
    OracleDataReader reader = cmd.ExecuteReader();
    reader.Read();

    for (short i = 0; i &lt; reader.FieldCount; i++)
    {
      if (reader.IsDBNull(i))
        Console.WriteLine("NULL");
      else
      {
        object someValue = reader.GetValue(i);
        Console.WriteLine(someValue.ToString());
      }
    }

    reader.Close();
  }
  finally
  {
    myConnection.Close();
  }
} </code><code lang="vb">Shared Sub GetMyValue(ByVal myConnection As OracleConnection)
  Dim cmd As New OracleCommand("SELECT * FROM Test.AllTypes")
  cmd.Connection = myConnection
  myConnection.Open()
  Try
    Dim reader As OracleDataReader = cmd.ExecuteReader
    reader.Read()
    For i As Short = 0 To reader.FieldCount - 1
      If reader.IsDBNull(i) Then
        Console.WriteLine("NULL")
      Else
        Console.WriteLine(reader.GetValue(i).ToString)
      End If
    Next i
    reader.Close()
  Finally
    myConnection.Close()
  End Try
End Sub </code></example>
      <seealso cref="M:Devart.Data.Oracle.OracleDataReader.GetValues" />
      <keywords>OracleDataReader.GetValue method </keywords>
      <param name="i"> </param>
      <returns>The value to return. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataReader.GetValues(System.Object[])">
      <summary>Gets all columns in the collection for the current row. </summary>
      <remarks>For most applications, the <see cref="M:Devart.Data.Oracle.OracleDataReader.GetValues" /> method provides an efficient way for retrieving all columns, rather than retrieving each column individually.
<para>You can pass an <see cref="T:System.Object" /> array that contains fewer than the number of columns contained in the resulting row. Only the amount of data the <see cref="T:System.Object" /> array holds is copied to the array. You can also pass an <see cref="T:System.Object" /> array whose length is more than the number of columns contained in the resulting row.</para><para>This method returns <see cref="T:System.DBNull" /> for null database columns.</para> </remarks>
      <example>The example shows how to retrieve several fields at once. Note that only the first three fields are retrieved, though there may be more in the table. <code lang="csharp">public void GetObjects(OracleConnection myConnection)
{
  OracleCommand cmd = new OracleCommand("SELECT * FROM Test.Emp");
  cmd.Connection = myConnection;
  myConnection.Open();
  try
  {
    OracleDataReader reader = cmd.ExecuteReader();
    reader.Read();
    object[] objs = new object[3];
    int quant = reader.GetValues(objs);
    for (int i=0;i &lt; quant;i++)
    {
      Console.WriteLine(objs[i]);
    }
    reader.Close();
  }
  finally
  {
    myConnection.Close();
  }
} </code><code lang="vb">Public Sub GetObjects(ByVal myConnection As OracleConnection)
  Dim cmd As OracleCommand = New OracleCommand("SELECT * FROM Test.Dept")
  cmd.Connection = myConnection
  myConnection.Open()
  Try
    Dim reader As OracleDataReader = cmd.ExecuteReader()
    reader.Read()
    Dim objs(3) As Object
    Dim quant As Integer = reader.GetValues(objs)
    Dim i As Integer
    For i = 0 To quant - 1
      Console.WriteLine(objs(i))
    Next i
    reader.Close()
  Finally
    myConnection.Close()
  End Try
End Sub </code></example>
      <seealso cref="M:Devart.Data.Oracle.OracleDataReader.GetValue" />
      <keywords>OracleDataReader.GetValues method </keywords>
      <param name="values">An array of <see cref="T:System.Object" /> into which to copy the attribute columns. </param>
      <returns>The number of instances of <see cref="T:System.Object" /> in the array. </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleDataReader.HasRows">
      <summary>Gets a value indicating whether the <see cref="T:Devart.Data.Oracle.OracleDataReader" /> contains one or more rows. </summary>
      <remarks>Note that this property returns <see langword="true" /> even if all rows were read out. </remarks>
      <example>This sample shows how to optimize reading from a database using <see cref="P:Devart.Data.Oracle.OracleDataReader.HasRows" /> property. <code lang="csharp">public void FetchResults(OracleConnection myConnection)
{
  OracleCommand cmd = new OracleCommand("SELECT * FROM Test.Dept");
  cmd.FetchSize = 100;
  cmd.Connection = myConnection;
  myConnection.Open();
  try
  {
    OracleDataReader reader = cmd.ExecuteReader();
    if (reader.HasRows)
    {
      while (reader.Read())
      {
        for (int i=0;i&lt;reader.FieldCount;i++)
        {
          Console.Write("\t"+reader[i]);
        }
        Console.WriteLine();
      }
    }
    else
    {
      Console.WriteLine("No rows detected.");
    }
  }
  finally
  {
    myConnection.Close();
  }
} </code><code lang="vb">Public Sub FetchResults(ByVal myConnection As OracleConnection)
  Dim cmd As OracleCommand = New OracleCommand("SELECT * FROM Test.Dept")
  cmd.FetchSize = 100
  cmd.Connection = myConnection
  myConnection.Open()
  Try
    Dim reader As OracleDataReader = cmd.ExecuteReader()
    If reader.HasRows Then
      While reader.Read()
        Dim i
        For i = 0 To reader.FieldCount - 1
          Console.Write(String.Concat(" ", reader(i)))
        Next i
        Console.WriteLine()
      End While
    Else
      Console.WriteLine("No rows detected.")
    End If
  Finally
    myConnection.Close()
  End Try
End Sub </code></example>
      <keywords>OracleDataReader.HasRows property </keywords>
      <value>
        <see langword="true" /> if the <see cref="T:Devart.Data.Oracle.OracleDataReader" /> contains one or more rows; otherwise, <see langword="false" />. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataReader.IsDBNull(System.Int32)">
      <summary>Gets a value indicating whether the column contains non-existent or missing values. </summary>
      <remarks>To avoid raising an error, call this method to check for null column values before calling the typed Get methods (for example, <see cref="M:Devart.Data.Oracle.OracleDataReader.GetByte" />, <see cref="M:Devart.Data.Oracle.OracleDataReader.GetChar" />, and so on). </remarks>
      <example> <code lang="csharp">static void GetMyValue(OracleConnection myConnection)
{
  OracleCommand cmd = new OracleCommand("SELECT * FROM Test.AllTypes");
  cmd.Connection = myConnection;
  myConnection.Open();
  try
  {
    OracleDataReader reader = cmd.ExecuteReader();
    reader.Read();

    for (short i = 0; i &lt; reader.FieldCount; i++)
    {
      if (reader.IsDBNull(i))
        Console.WriteLine("NULL");
      else
      {
        object someValue = reader.GetValue(i);
        Console.WriteLine(someValue.ToString());
      }
    }

    reader.Close();
  }
  finally
  {
    myConnection.Close();
  }
} </code><code lang="vb">Shared Sub GetMyValue(ByVal myConnection As OracleConnection)
  Dim cmd As New OracleCommand("SELECT * FROM Test.AllTypes")
  cmd.Connection = myConnection
  myConnection.Open()
  Try
    Dim reader As OracleDataReader = cmd.ExecuteReader
    reader.Read()
    For i As Short = 0 To reader.FieldCount - 1
      If reader.IsDBNull(i) Then
        Console.WriteLine("NULL")
      Else
        Console.WriteLine(reader.GetValue(i).ToString)
      End If
    Next i
    reader.Close()
  Finally
    myConnection.Close()
  End Try
End Sub </code></example>
      <keywords>OracleDataReader.IsDBNull method </keywords>
      <param name="i"> </param>
      <returns>
        <see langword="true" /> if the specified column value is equivalent to <see cref="T:System.DBNull" />; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataReader.NextResult()">
      <summary>Advances the data reader to the next result, when reading the results of multiple REF CURSORs in PL/SQL statement. </summary>
      <remarks>Used to process multiple cursors, which can be generated by executing PL/SQL statements.
<para>By default, the <see cref="T:Devart.Data.Oracle.OracleDataReader" /> is positioned on the first cursor.</para> </remarks>
      <keywords>OracleDataReader.NextResult method </keywords>
      <returns><see langword="true" /> if there are more cursors; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataReader.Read()">
      <summary>Advances the <see cref="T:Devart.Data.Oracle.OracleDataReader" /> to the next record. </summary>
      <remarks>The default position of the <see cref="T:Devart.Data.Oracle.OracleDataReader" /> is prior to the first record. Therefore, you must call <see cref="M:Devart.Data.Oracle.OracleDataReader.Read" /> to begin accessing any data.
<para>While the <see cref="T:Devart.Data.Oracle.OracleDataReader" /> is in use, the associated <see cref="T:Devart.Data.Oracle.OracleConnection" /> is busy serving it until you call <see cref="M:Devart.Data.Oracle.OracleDataReader.Close" />.</para> </remarks>
      <example>The following example creates a <see cref="T:Devart.Data.Oracle.OracleConnection" />, a <see cref="T:Devart.Data.Oracle.OracleCommand" />, and a <see cref="T:Devart.Data.Oracle.OracleDataReader" />. The example reads through the data, writing it out to the console. Finally, the example closes the <see cref="T:Devart.Data.Oracle.OracleDataReader" />, then the <see cref="T:Devart.Data.Oracle.OracleConnection" />. <code lang="csharp">public void ReadMyData(string myConnString)
{
  string mySelectQuery = "SELECT DeptNo, DName FROM Test.Dept";
  OracleConnection myConnection = new OracleConnection(myConnString);
  OracleCommand myCommand = new OracleCommand(mySelectQuery,myConnection);
  myConnection.Open();
  OracleDataReader myReader;
  myReader = myCommand.ExecuteReader();
  // Always call Read before accessing data.
  while (myReader.Read()) {
    Console.WriteLine(myReader.GetInt32(0) + ", " + myReader.GetString(1));
  }
  // always call Close when done reading.
  myReader.Close();
  // Close the connection when done with it.
  myConnection.Close();
} </code><code lang="vb">Public Sub ReadMyData(myConnString As String)
  Dim mySelectQuery As String = "SELECT DeptNo, DName FROM Test.Dept"
  Dim myConnection As New OracleConnection(myConnString)
  Dim myCommand As New OracleCommand(mySelectQuery, myConnection)
  myConnection.Open()
  Dim myReader As OracleDataReader
  myReader = myCommand.ExecuteReader()
  ' Always call Read before accessing data.
  While myReader.Read()
    Console.WriteLine(myReader.GetInt32(0).ToString() + ", " _
      + myReader.GetString(1))
  End While
  ' always call Close when done reading.
  myReader.Close()
  ' Close the connection when done with it.
  myConnection.Close()
End Sub </code></example>
      <seealso cref="T:Devart.Data.Oracle.OracleConnection" />
      <seealso cref="T:Devart.Data.Oracle.OracleCommand" />
      <keywords>OracleDataReader.Read method </keywords>
      <returns>
        <see langword="true" /> if there are more rows; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleDataReader.RecordsAffected">
      <summary>Gets the number of rows changed, inserted, or deleted by execution of the SQL statement. </summary>
      <remarks>The value of this property is cumulative. For example, if two records are inserted in the first statement in batch mode, and the second statement affected 3 records, the value of <see cref="P:Devart.Data.Oracle.OracleDataReader.RecordsAffected" /> will be 5.

        <para>
          <see cref="P:Devart.Data.Oracle.OracleDataReader.IsClosed" /> and <see cref="P:Devart.Data.Oracle.OracleDataReader.RecordsAffected" /> are the only properties that you can call after the <see cref="T:Devart.Data.Oracle.OracleDataReader" /> is closed.</para> </remarks>
      <example>This sample shows how to find out how many rows have been affected during last query. You can do it even if the <see cref="T:Devart.Data.Oracle.OracleDataReader" /> has been closed. <code lang="csharp">public void ProcessReader (OracleDataReader myReader)
{
  if (!myReader.IsClosed)
  {
    while (myReader.Read())
    {
      for (int i=0;i&lt;myReader.FieldCount;i++)
      {
        Console.Write("\t"+myReader[i]);
      }
      Console.WriteLine();
    }
  }
  else
  {
    Console.WriteLine("The DataReader is closed. Rows affected in last action: "+myReader.RecordsAffected);
  }
} </code><code lang="vb">Public Sub ProcessReader(ByVal myReader As OracleDataReader)
  If Not myReader.IsClosed Then
    Dim i As Integer
    While myReader.Read()
      For i = 0 To myReader.FieldCount - 1
        Console.Write(" " &amp; myReader(i))
      Next i
      Console.WriteLine()
    End While
  Else
    Console.WriteLine("The DataReader is closed. Rows affected in last action: " &amp; myReader.RecordsAffected)
  End If
End Sub </code></example>
      <seealso cref="P:Devart.Data.Oracle.OracleDataReader.IsClosed" />
      <keywords>OracleDataReader.RecordsAffected property </keywords>
      <value>The number of rows changed, inserted, or deleted. -1 for SELECT statements; 0 if no rows were affected, or the statement failed. </value>
    </member>
    <member name="T:Devart.Data.Oracle.OracleDataSet">
      <summary>Represents an in-memory cache of data with support for Oracle-specific features. </summary>
      <remarks>
        <para>Refer to topic <a href="GeneralConcepts.html">General Concepts in Database Application Development</a> for information on how to use the <see cref="T:Devart.Data.Oracle.OracleDataSet" /> class best.</para>
        <para>This class supports cross-form data binding with the <a href="InterForm.html">InterForm Technology</a>.</para>
        <para>To migrate from a standard typed DataSet, change its <i>Custom Tool</i> property to <i>dcOracleDataSetGenerator</i>. 
You will also need to delete all TableAdapters from the old DataSet.</para>
<para>This class is available only in Professional and Developer Editions. It is not available in Standard and Mobile Editions.</para> </remarks>
      <example>This sample shows  usage of untyped OracleDataSet with comprehensive <a href="DataTable.html">OracleDataTables</a>. You can do the same operations in design time by drag&amp;drop-ing OracleDataSet from Toolbox to Form Designer and editting it via <a href="DataSetManager.html">DataSet Manager</a> and <a href="DataSetEditor.html">DataSet Editor</a>. Otherwise, you can always generate typed OracleDataSet using <a href="DataSetWizard.html">DataSet Wizard</a>. <code lang="csharp">static OracleDataSet GetDataSet(string connStr) {
	// retrieving data from DEPT table
	OracleDataTable dept = new OracleDataTable("select * from dept", connStr);
	dept.FetchAll = true;
	dept.Active = true;
      
	// retrieving data from EMP table
	OracleDataTable emp = new OracleDataTable("select * from emp", connStr);
	emp.FetchAll = true;
	emp.Active = true;

	// adding data tables to OracleDataSet
	OracleDataSet dataSet = new OracleDataSet();
	dataSet.Tables.Add(dept);
	dataSet.Tables.Add(emp);

	// linking tables to allow navigation from parent table rows
	// to corresponding child table rows
	DataColumn parentColumn = dataSet.Tables["DEPT"].Columns["DEPTNO"];
	DataColumn childColumn = dataSet.Tables["EMP"].Columns["DEPTNO"];
	DataRelation relation = new System.Data.DataRelation("DeptsEmps", parentColumn, childColumn);
	dataSet.Relations.Add(relation);

	return dataSet;
} </code><code lang="vb">Public Function GetDataSet(ByVal connStr As String) As OracleDataSet
	' retrieving data from DEPT table
	Dim dept As New OracleDataTable("select * from dept", connStr)
	dept.FetchAll = True
	dept.Active = True

	' retrieving data from EMP table
	Dim emp As New OracleDataTable("select * from emp", connStr)
	emp.FetchAll = True
	emp.Active = True

	' adding data tables to OracleDataSet
	Dim dataSet As New OracleDataSet()
	dataSet.Tables.Add(dept)
	dataSet.Tables.Add(emp)

	' linking tables to allow navigation from parent table rows
	' to corresponding child table rows
	Dim parentColumn As DataColumn = dataSet.Tables("DEPT").Columns("DEPTNO")
	Dim childColumn As DataColumn = dataSet.Tables("EMP").Columns("DEPTNO")
	Dim relation As New System.Data.DataRelation("DeptsEmps", parentColumn, childColumn)
	dataSet.Relations.Add(relation)
	Return dataSet
End Function </code></example>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataSet.#ctor()">
      <summary>Initializes a new instance of a <see cref="T:Devart.Data.Oracle.OracleDataSet" /> class with the given name. </summary>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataSet.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext,System.Boolean)">
      <summary>This API supports the .NET Framework infrastructure and is not intended to be used directly from your code. </summary>
      <param name="info">Contains the data needed to serialize or deserialize an <see cref="T:Devart.Data.Oracle.OracleDataSet" /> object. </param>
      <param name="context">Describes the source and destination of a given serialized stream, and provides an additional caller-defined context. </param>
      <param name="ConstructSchema">Value that determines whether to construct schema or not. </param>
    </member>
    <member name="P:Devart.Data.Oracle.OracleDataSet.Connection">
      <summary>Associated <see cref="T:Devart.Data.Oracle.OracleConnection" />. </summary>
      <remarks>
        <para>This property supports the <a href="InterForm.html">InterForm</a> technology.</para> </remarks>
      <keywords>OracleDataSet.Connection property </keywords>
      <value>
        <see cref="T:Devart.Data.Oracle.OracleConnection" /> used by <see cref="T:Devart.Data.Oracle.OracleDataSet" />. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataSet.CreateDataTable()">
      <summary>Creates and returns new <see cref="T:Devart.Data.Oracle.OracleDataTable" /> object. </summary>
      <keywords>OracleDataSet.CreateDataTable method </keywords>
      <returns>The new <see cref="T:Devart.Data.Oracle.OracleDataTable" /> object. </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleDataSet.Relations">
      <summary>Gets a collection of relations in the <see cref="T:Devart.Data.Oracle.OracleDataSet" />. </summary>
      <keywords>OracleDataSet.Relations property </keywords>
      <value>A collection of relations. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleDataSet.Tables">
      <summary>Gets collection of tables </summary>
      <keywords>OracleDataSet.Tables property </keywords>
      <value>Collection of tables in DataSet </value>
    </member>
    <member name="T:Devart.Data.Oracle.OracleDataSourceEnumerator">
      <summary>Provides a mechanism for enumerating all known Oracle servers (TNS aliases). </summary>
      <example> <code lang="csharp">OracleHomeCollection homes = OracleConnection.Homes;
foreach (OracleHome h in homes) {
        Console.WriteLine("=== Home={0} ===", h.Name);
        OracleDataSourceEnumerator en = new OracleDataSourceEnumerator();
        DataTable tbl = en.GetDataSources(h.Name);
        foreach (DataRow row in tbl.Rows) {
        Console.WriteLine(row["InstanceName"]);
    }
}
Console.ReadLine(); </code></example>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataSourceEnumerator.#ctor()">
      <summary>Initializes a new instance of a <see cref="T:Devart.Data.Oracle.OracleDataSourceEnumerator" /> class with the given name. </summary>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataSourceEnumerator.GetDataSources()">
      <summary>Retrieves a DataTable containing information about all TNS aliases described in the default Oracle home. </summary>
      <keywords>OracleDataSourceEnumerator.GetDataSources method </keywords>
      <returns>A DataTable containing information about all TNS aliases described in the default Oracle home. </returns>
      <overloads>Retrieves a DataTable containing information about all known  Oracle  servers (TNS aliases). </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataSourceEnumerator.GetDataSources(System.String)">
      <summary>Retrieves a DataTable containing information about all TNS aliases described in the specified Oracle home. </summary>
      <keywords>OracleDataSourceEnumerator.GetDataSources method </keywords>
      <param name="homeName">Name of the Oracle home to read TNS aliases from. </param>
      <returns>A DataTable containing information about all TNS aliases described in the specified Oracle home. </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleDataSourceEnumerator.Instance">
      <summary>Returns the instance of <see cref="T:Devart.Data.Oracle.OracleDataSourceEnumerator" />. </summary>
      <keywords>OracleDataSourceEnumerator.Instance property </keywords>
      <value>The instance of <see cref="T:Devart.Data.Oracle.OracleDataSourceEnumerator" />. </value>
    </member>
    <member name="T:Devart.Data.Oracle.OracleDataTable">
      <summary>Represents a single object that provides all of the functionality needed to retrieve and manipulate data from an Oracle data source. </summary>
      <remarks>        <para>The <see cref="T:Devart.Data.Oracle.OracleDataTable" /> class extends the <see cref="T:Devart.Common.DbDataTable" /> class to provide a single object that can be used to access and update data from a data source. Actually, <see cref="T:Devart.Data.Oracle.OracleDataTable" /> replaces <see cref="T:Devart.Data.Oracle.OracleConnection" />, <see cref="T:Devart.Data.Oracle.OracleCommand" />, <see cref="T:Devart.Data.Oracle.OracleDataAdapter" />, and <see cref="T:Devart.Data.Oracle.OracleCommandBuilder" /> classes with all-in-one class. When a <see cref="T:Devart.Data.Oracle.OracleDataTable" /> object is created, the default values of its constituent parts are set to reasonable defaults, meaning that the programmer can create a single object and immediately use it to retrieve and manipulate data from a data source.</para>
        <para>By using <see cref="T:Devart.Data.Oracle.OracleDataTable" /> you can avoid explicit creation of <see cref="T:Devart.Data.Oracle.OracleConnection" /> and <see cref="T:Devart.Data.Oracle.OracleCommand" /> objects. When appropriate form of constructor is used, these objects are created automatically when  you retrieve data from a data source. It allows you to cut down the size of the written code.</para>
        <para><see cref="T:Devart.Data.Oracle.OracleDataTable" /> allows you to automate loading of subsets of data either by selecting <see cref="P:Devart.Common.DbTable.StartRecord" /> and <see cref="P:Devart.Common.DbDataTable.MaxRecords" /> properties or by using <see cref="M:Devart.Common.DbDataTable.Fill" /> or <see cref="M:Devart.Common.DbDataTable.FillPage" /> methods that support passing parameter values into the query text.</para>
        <para>The <see cref="T:Devart.Data.Oracle.OracleDataTable" /> class is designed to employ both connected and disconnected data access models. It also provides functionality for asynchronous fill operations.</para>
        <para>The <see cref="T:Devart.Data.Oracle.OracleDataTable" /> class can be fully adjusted at design-time. You may retrieve data at design-time from a data source by setting <see cref="P:Devart.Common.DbTable.Active" /> property to <see langword="true" />.</para>
        <para>For more information on advanced features of <see cref="T:Devart.Data.Oracle.OracleDataTable" /> please refer to topic <a href="DataTable.html">OracleDataTable Advanced Features</a>.</para>
        <para>This class supports cross-form data binding with the <a href="InterForm.html">InterForm Technology</a>.</para>
        <para>This class is available only in Professional and Developer Editions. It is not available in Standard and Mobile Editions.</para>
<para><see cref="M:Devart.Data.Oracle.OracleCommand.ExecutePageReader" /> method puts on following restrictions on the executable statement:</para>
<para>- you cannot execute stored procedures and PL/SQL blocks;</para>
<para>- you may specify only SQL statement that can be placed into the subquery.</para>
<para>To use <see cref="M:Devart.Data.Oracle.OracleCommand.ExecutePageReader" /> method it is recommended to optimize a query for retrieving a first row, otherwise using this method is ineffective.</para>
<para>Note that <see cref="T:Devart.Data.Oracle.OracleDataTable" /> supports advanced data binding for such Oracle objects as nested tables, varrays, and Oracle objects. Use <b>DataSource</b> and <b>DataMember</b> properties of <b>DataGrid</b> to render <see cref="T:Devart.Data.Oracle.OracleTable" />, <see cref="T:Devart.Data.Oracle.OracleArray" />, and <see cref="T:Devart.Data.Oracle.OracleObject" /> objects.</para> </remarks>
      <example>This sample shows easiness of use of <see cref="T:Devart.Data.Oracle.OracleDataTable" />. The sample
creates a <see cref="T:Devart.Data.Oracle.OracleDataTable" /> object, passing it SQL query text and connection string, retrieves data from a table and modifies it. Content of the table is printed to console then. Notice that no other component needs to be created by programmer. <code lang="csharp">public void UseDataTable()
{
  OracleDataTable myDataTable = new OracleDataTable("SELECT * FROM Test.Dept", 
      "User Id=Scott;Password=tiger;Data Source=Ora");
  try
  {
    myDataTable.FetchAll = true;
	myDataTable.Active = true;
    myDataTable.Rows[3]["DName"] = "Researches";
    Console.WriteLine(myDataTable.Update()+" rows updated.");
    foreach(DataRow myRow in myDataTable.Rows)
    {
      foreach(DataColumn myCol in myDataTable.Columns)
      {
        Console.Write(myRow[myCol]+"\t");
      }
      Console.WriteLine();
    }
  }
  finally
  {
    myDataTable.Active = false;
  }
} </code><code lang="vb">Public Sub UseDataTable()
  Dim myDataTable As OracleDataTable = New OracleDataTable("SELECT * FROM Test.Dept", _
      "User Id=Scott;Password=tiger;Data Source=Ora")
  Try
    myDataTable.FetchAll = True
	myDataTable.Active = True
    myDataTable.Rows(3)("DName") = "Researches"
    Console.WriteLine(myDataTable.Update() &amp; " rows updated.")
    Dim myRow As DataRow
    Dim myCol As DataColumn
    For Each myRow In myDataTable.Rows
      For Each myCol In myDataTable.Columns
        Console.Write(myRow(myCol) &amp; Chr(9))
      Next myCol
      Console.WriteLine()
    Next myRow
  Finally
    myDataTable.Active = False
  End Try
End Sub </code></example>
      <seealso cref="T:Devart.Data.Oracle.OracleConnection" />
      <seealso cref="T:Devart.Data.Oracle.OracleDataReader" />
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataTable.#ctor()">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleDataTable" /> class. </summary>
      <overloads>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleDataTable" /> class. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataTable.#ctor(Devart.Data.Oracle.OracleCommand)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleDataTable" /> class. </summary>
      <example>This sample shows how to create a <see cref="T:Devart.Data.Oracle.OracleDataTable" /> and retrieve data from a table. <code lang="csharp">public void UseDataTable(OracleConnection myConnection)
{
  OracleCommand myCommand = new OracleCommand("SELECT * FROM Test.Dept",myConnection);
  OracleDataTable myDataTable = new OracleDataTable(myCommand);
  try
  {
    myDataTable.Active = true;
    foreach(DataRow myRow in myDataTable.Rows)
    {
      foreach(DataColumn myCol in myDataTable.Columns)
      {
        Console.Write(myRow[myCol]+"\t");
      }
      Console.WriteLine();
    }
  }
  finally
  {
    myDataTable.Active = false;
  }
} </code><code lang="vb">Public Sub UseDataTable(ByVal myConnection As OracleConnection)
  Dim myCommand As OracleCommand = New OracleCommand("SELECT * FROM Test.Dept", myConnection)
  Dim myDataTable As OracleDataTable = New OracleDataTable(myCommand)
  Try
    myDataTable.Active = True
    Dim myRow As DataRow
    Dim myCol As DataColumn
    For Each myRow In myDataTable.Rows
      For Each myCol In myDataTable.Columns
        Console.Write(myRow(myCol) &amp; Chr(9))
      Next myCol
      Console.WriteLine()
    Next myRow
  Finally
    myDataTable.Active = False
  End Try
End Sub </code></example>
      <param name="selectCommand">A <see cref="T:Devart.Data.Oracle.OracleCommand" /> object used to select rows from the data source. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataTable.#ctor(Devart.Data.Oracle.OracleCommand,Devart.Data.Oracle.OracleConnection)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleDataTable" /> class. </summary>
      <example>This sample shows how to create a <see cref="T:Devart.Data.Oracle.OracleDataTable" /> and retrieve data from a table. <code lang="csharp">public void UseDataTable(OracleConnection myConnection)
{
  OracleCommand myCommand = new OracleCommand("SELECT * FROM Test.Dept");
  OracleDataTable myDataTable = new OracleDataTable(myCommand,myConnection);
  try
  {
    myDataTable.Active = true;
    foreach(DataRow myRow in myDataTable.Rows)
    {
      foreach(DataColumn myCol in myDataTable.Columns)
      {
        Console.Write(myRow[myCol]+"\t");
      }
      Console.WriteLine();
    }
  }
  finally
  {
    myDataTable.Active = false;
  }
} </code><code lang="vb">Public Sub UseDataTable(ByVal myConnection As OracleConnection)
  Dim myCommand As OracleCommand = New OracleCommand("SELECT * FROM Test.Dept")
  Dim myDataTable As OracleDataTable = New OracleDataTable(myCommand, myConnection)
  Try
    myDataTable.Active = True
    Dim myRow As DataRow
    Dim myCol As DataColumn
    For Each myRow In myDataTable.Rows
      For Each myCol In myDataTable.Columns
        Console.Write(myRow(myCol) &amp; Chr(9))
      Next myCol
      Console.WriteLine()
    Next myRow
  Finally
    myDataTable.Active = False
  End Try
End Sub </code></example>
      <param name="selectCommand">A <see cref="T:Devart.Data.Oracle.OracleCommand" /> object used to select rows from the data source. </param>
      <param name="connection">A <see cref="T:Devart.Data.Oracle.OracleConnection" /> used to connect to the data source. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataTable.#ctor(System.String)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleDataTable" /> class. </summary>
      <param name="tableName">Name of the table to work with. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataTable.#ctor(System.String,Devart.Data.Oracle.OracleConnection)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleDataTable" /> class. </summary>
      <example>This sample shows how to create a <see cref="T:Devart.Data.Oracle.OracleDataTable" /> and retrieve data from a table. <code lang="csharp">public void UseDataTable(OracleConnection myConnection)
{
  OracleDataTable myDataTable = new OracleDataTable("SELECT * FROM Test.Dept", myConnection);
  try
  {
    myDataTable.Active = true;
    foreach(DataRow myRow in myDataTable.Rows)
    {
      foreach(DataColumn myCol in myDataTable.Columns)
      {
        Console.Write(myRow[myCol]+"\t");
      }
      Console.WriteLine();
    }
  }
  finally
  {
    myDataTable.Active = false;
  }
} </code><code lang="vb">Public Sub UseDataTable(ByVal myConnection As OracleConnection)
  Dim myDataTable As OracleDataTable = New OracleDataTable("SELECT * FROM Test.Dept", myConnection)
  Try
    myDataTable.Active = True
    Dim myRow As DataRow
    Dim myCol As DataColumn
    For Each myRow In myDataTable.Rows
      For Each myCol In myDataTable.Columns
        Console.Write(myRow(myCol) &amp; Chr(9))
      Next myCol
      Console.WriteLine()
    Next myRow
  Finally
    myDataTable.Active = False
  End Try
End Sub </code></example>
      <param name="selectCommandText">The text of the selection command. </param>
      <param name="connection">A <see cref="T:Devart.Data.Oracle.OracleConnection" /> used to connect to the data source. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataTable.#ctor(System.String,System.String)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleDataTable" /> class. </summary>
      <example>This sample shows how to create a <see cref="T:Devart.Data.Oracle.OracleDataTable" /> and retrieve data from a table. <code lang="csharp">public void UseDataTable()
{
  OracleDataTable myDataTable = new OracleDataTable("SELECT * FROM Test.Dept", 
      "User Id=Scott;Password=tiger;Data Source=Ora");
  try
  {
    myDataTable.Active = true;
    foreach(DataRow myRow in myDataTable.Rows)
    {
      foreach(DataColumn myCol in myDataTable.Columns)
      {
        Console.Write(myRow[myCol]+"\t");
      }
      Console.WriteLine();
    }
  }
  finally
  {
    myDataTable.Active = false;
  }
} </code><code lang="vb">Public Sub UseDataTable()
  Dim myDataTable As OracleDataTable = New OracleDataTable("SELECT * FROM Test.Dept", _
      "User Id=Scott;Password=tiger;Data Source=Ora")
  Try
    myDataTable.Active = True
    Dim myRow As DataRow
    Dim myCol As DataColumn
    For Each myRow In myDataTable.Rows
      For Each myCol In myDataTable.Columns
        Console.Write(myRow(myCol) &amp; Chr(9))
      Next myCol
      Console.WriteLine()
    Next myRow
  Finally
    myDataTable.Active = False
  End Try
End Sub </code></example>
      <param name="selectCommandText">The text of the selection command. </param>
      <param name="connectionString">Connection string used to connect to the data source. </param>
    </member>
    <member name="P:Devart.Data.Oracle.OracleDataTable.Connection">
      <summary>Gets or sets the <see cref="T:Devart.Data.Oracle.OracleConnection" /> used to connect to the data source. </summary>
      <remarks>This property is used by <see cref="P:Devart.Data.Oracle.OracleDataTable.DeleteCommand" />, <see cref="P:Devart.Data.Oracle.OracleDataTable.InsertCommand" />, <see cref="P:Devart.Data.Oracle.OracleDataTable.SelectCommand" />, and <see cref="P:Devart.Data.Oracle.OracleDataTable.UpdateCommand" />, in case when these properties do not have own created connection.
<para>This property supports the <a href="InterForm.html">InterForm</a> technology.</para> </remarks>
      <example>This sample shows how to create a <see cref="T:Devart.Data.Oracle.OracleDataTable" /> and retrieve data from a table. <code lang="csharp">public void UseDataTable(OracleConnection myConnection)
{
  OracleDataTable myDataTable = new OracleDataTable();
  myDataTable.Connection = myConnection;
  myDataTable.SelectCommand = new OracleCommand("SELECT * FROM Test.Dept");
  try
  {
    myDataTable.Active = true;
    foreach(DataRow myRow in myDataTable.Rows)
    {
      foreach(DataColumn myCol in myDataTable.Columns)
      {
        Console.Write(myRow[myCol]+"\t");
      }
      Console.WriteLine();
    }
  }
  finally
  {
    myDataTable.Active = false;
  }
} </code><code lang="vb">Public Sub UseDataTable(ByVal myConnection As OracleConnection)
  Dim myDataTable As OracleDataTable = New OracleDataTable
  myDataTable.Connection = myConnection
  myDataTable.SelectCommand = New OracleCommand("SELECT * FROM Test.Dept")
  Try
    myDataTable.Active = True
    Dim myRow As DataRow
    Dim myCol As DataColumn
    For Each myRow In myDataTable.Rows
      For Each myCol In myDataTable.Columns
        Console.Write(myRow(myCol) &amp; Chr(9))
      Next myCol
      Console.WriteLine()
    Next myRow
  Finally
    myDataTable.Active = False
  End Try
End Sub </code></example>
      <keywords>OracleDataTable.Connection property </keywords>
      <value>A <see cref="T:Devart.Data.Oracle.OracleConnection" /> object which provides a connection to the data source. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleDataTable.DeleteCommand">
      <summary>Gets or sets an Oracle statement to delete records from the data set. </summary>
      <remarks>
        <para>Typically you do not need to use <see cref="P:Devart.Data.Oracle.OracleDataTable.DeleteCommand" /> when working with <see cref="T:Devart.Data.Oracle.OracleDataTable" />. All simple update operations are performed automatically using embedded CommandBuilder. <see cref="P:Devart.Data.Oracle.OracleDataTable.DeleteCommand" /> enables you to perform specific operations like shown in the sample below.</para>
        <para>
          <see cref="P:Devart.Data.Oracle.OracleDataTable.DeleteCommand" /> uses its own <b>Connection</b> if it is created. Otherwise <see cref="P:Devart.Data.Oracle.OracleDataTable.DeleteCommand" /> uses <see cref="P:Devart.Data.Oracle.OracleDataTable.Connection" />.</para> </remarks>
      <example>This sample shows how to modify and display data using <see cref="T:Devart.Data.Oracle.OracleDataTable" />. <code lang="csharp">public void UseDataTable(OracleConnection myConnection)
{
  OracleDataTable myDataTable = new OracleDataTable("SELECT * FROM Test.Dept", myConnection);
  try
  {
    myDataTable.Active = true;
    myDataTable.Rows[1].Delete();
    myDataTable.DeleteCommand = new OracleCommand("DELETE FROM Test.Emp WHERE DeptNo = :DeptNo;DELETE FROM Test.Dept WHERE DeptNo = :DeptNo", myConnection);
    myDataTable.DeleteCommand.Parameters.Add("DeptNo", OracleDbType.Integer, 0, "DeptNo").SourceVersion = DataRowVersion.Original;
    myDataTable.Update();

    foreach(DataRow myRow in myDataTable.Rows)
    {
      foreach(DataColumn myCol in myDataTable.Columns)
      {
        Console.Write(myRow[myCol]+"\t");
      }
      Console.WriteLine();
    }
  }
  finally
  {
    myDataTable.Active = false;
  }
} </code><code lang="vb">Public Sub UseDataTable(ByVal myConnection As OracleConnection)
  Dim myDataTable As OracleDataTable = New OracleDataTable("SELECT * FROM Test.Dept", myConnection)
  Try
    myDataTable.Active = True
    myDataTable.Rows(2).Delete()
    myDataTable.DeleteCommand = New OracleCommand("DELETE FROM Test.Emp WHERE DeptNo = :DeptNo;DELETE FROM Test.Dept WHERE DeptNo = :DeptNo", myConnection)
    myDataTable.DeleteCommand.Parameters.Add("DeptNo", OracleDbType.Integer, 0, "DeptNo").SourceVersion = DataRowVersion.Original
    myDataTable.Update()

    Dim myRow As DataRow
    Dim myCol As DataColumn
    For Each myRow In myDataTable.Rows
      For Each myCol In myDataTable.Columns
        Console.Write(myRow(myCol) &amp; Chr(9))
      Next myCol
      Console.WriteLine()
    Next myRow
  Finally
    myDataTable.Active = False
  End Try
End Sub </code></example>
      <seealso cref="P:Devart.Data.Oracle.OracleDataTable.InsertCommand" />
      <seealso cref="P:Devart.Data.Oracle.OracleDataTable.SelectCommand" />
      <seealso cref="P:Devart.Data.Oracle.OracleDataTable.UpdateCommand" />
      <keywords>OracleDataTable.DeleteCommand property </keywords>
      <value>A <see cref="T:Devart.Data.Oracle.OracleCommand" /> used during an update operation to delete records in the database that correspond to deleted rows in the <see cref="T:System.Data.DataSet" />. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataTable.GetItemProperties(System.ComponentModel.PropertyDescriptor[])">
      <summary>Used internally. </summary>
      <keywords>OracleDataTable.GetItemProperties method </keywords>
      <param name="listAccessors"> </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataTable.GetListName(System.ComponentModel.PropertyDescriptor[])">
      <summary>Used internally. </summary>
      <keywords>OracleDataTable.GetListName method </keywords>
      <param name="listAccessors"> </param>
    </member>
    <member name="P:Devart.Data.Oracle.OracleDataTable.InsertCommand">
      <summary>Gets or sets an Oracle statement to insert new records into the data source. </summary>
      <remarks>
        <see cref="P:Devart.Data.Oracle.OracleDataTable.InsertCommand" /> uses its own <b>Connection</b> if it is created. Otherwise <see cref="P:Devart.Data.Oracle.OracleDataTable.InsertCommand" /> uses <see cref="P:Devart.Data.Oracle.OracleDataTable.Connection" />. </remarks>
      <example>This sample shows how to modify and display data using <see cref="T:Devart.Data.Oracle.OracleDataTable" />. <code lang="csharp">public void UseDataTable(OracleConnection myConnection)
{
  OracleDataTable myDataTable = new OracleDataTable("SELECT * FROM Test.Dept", myConnection);
  try
  {
    myDataTable.Active = true;
    myDataTable.Rows.Add(new object[] {30,"Sales2"});
    myDataTable.InsertCommand = new OracleCommand("INSERT INTO Test.Dept (DeptNo, DName, Loc) " +
      "VALUES (:DeptNo, :DName, 'Unverified')", myConnection);
    myDataTable.InsertCommand.Parameters.Add("DeptNo", OracleDbType.Integer, 0, "DeptNo");
    myDataTable.InsertCommand.Parameters.Add("DName", OracleDbType.VarChar, 15, "DName");
    Console.WriteLine(myDataTable.Update()+" rows updated.");
    myDataTable.Active = false;
    //Refresh the table to check custom updates
    myDataTable.Active = true;                  
    foreach(DataRow myRow in myDataTable.Rows)
    {
      foreach(DataColumn myCol in myDataTable.Columns)
      {
        Console.Write(myRow[myCol]+"\t");
      }
      Console.WriteLine();
    }
  }
  finally
  {
    myDataTable.Active = false;
  }
} </code><code lang="vb">Public Sub UseDataTable(ByVal myConnection As OracleConnection)
  Dim myDataTable As OracleDataTable = New OracleDataTable("SELECT * FROM Test.Dept", myConnection)
  Try
    myDataTable.Active = True
    Dim rowVals() As Object = {30, "Sales2"}
    myDataTable.Rows.Add(rowVals)
    myDataTable.InsertCommand = New OracleCommand("INSERT INTO Test.Dept (DeptNo, DName, Loc) " &amp; _
        "VALUES (:DeptNo, :DName, 'Unverified')", myConnection)
    myDataTable.InsertCommand.Parameters.Add("DeptNo", OracleDbType.Integer, 0, "DeptNo")
    myDataTable.InsertCommand.Parameters.Add("DName", OracleDbType.VarChar, 15, "DName")
    Console.WriteLine(myDataTable.Update() &amp; " rows updated.")
    myDataTable.Active = False
    ' Refresh the table to check custom updates
    myDataTable.Active = True
    Dim myRow As DataRow
    Dim myCol As DataColumn
    For Each myRow In myDataTable.Rows
      For Each myCol In myDataTable.Columns
        Console.Write(myRow(myCol) &amp; Chr(9))
      Next myCol
      Console.WriteLine()
    Next myRow
  Finally
    myDataTable.Active = False
  End Try
End Sub </code></example>
      <seealso cref="P:Devart.Data.Oracle.OracleDataTable.DeleteCommand" />
      <seealso cref="P:Devart.Data.Oracle.OracleDataTable.SelectCommand" />
      <seealso cref="P:Devart.Data.Oracle.OracleDataTable.UpdateCommand" />
      <keywords>OracleDataTable.InsertCommand property </keywords>
      <value>A <see cref="T:Devart.Data.Oracle.OracleCommand" /> used during an update operation to insert records in the database that correspond to new rows in the <see cref="T:System.Data.DataSet" />. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleDataTable.ObjectView">
      <summary>Indicates how Oracle objects are represented in <b>DataSet</b> and visual grids like <b>DataGrid</b>. </summary>
      <remarks>This feature is not supported in some grids, for example, <b>GridView</b>. </remarks>
      <keywords>OracleDataTable.ObjectView property </keywords>
      <value>If <see langword="true" />, Oracle objects are shown as expandable secondary rows; otherwise the appearance depends on <see cref="P:Devart.Data.Oracle.OracleDataTable.SplitObjects" /> property. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleDataTable.ReadLobMode">
      <summary>Determines how LOB data is fetched and represented. </summary>
      <seealso cref="T:Devart.Data.Oracle.ReadLobMode" />
      <keywords>OracleDataTable.ReadLobMode property </keywords>
      <value>One of <see cref="T:Devart.Data.Oracle.ReadLobMode" /> values. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleDataTable.RefreshingFields">
      <summary>Gets or sets list of fields whose values should be retrieved after a DML statement execution. </summary>
      <remarks>This property is used in conjunction with <see cref="P:Devart.Common.DbDataTable.RefreshMode" />. </remarks>
      <keywords>OracleDataTable.RefreshingFields property </keywords>
      <value>The string containing list of field names separated by semicolon. </value>
    </member>
    <member name="E:Devart.Data.Oracle.OracleDataTable.RowUpdated">
      <summary>Occurs during <see cref="M:System.Data.Common.DbDataAdapter.Update(System.Data.DataSet)" /> after a command is executed against the data source. The attempt to update is made, so the event fires. </summary>
      <remarks>The event handler receives an argument of type <see cref="T:Devart.Data.Oracle.OracleRowUpdatedEventArgs" /> containing data related to this event. The following <see cref="T:Devart.Data.Oracle.OracleRowUpdatedEventArgs" /> properties provide information specific to this event.
<list type="table"><listheader><term>Property</term><description>Description</description></listheader><item><term><see cref="P:Devart.Data.Oracle.OracleRowUpdatedEventArgs.Command" /></term><description>Gets the <see cref="T:Devart.Data.Oracle.OracleCommand" /> executed when <see cref="M:System.Data.Common.DbDataAdapter.Update(System.Data.DataSet)" /> is called.</description></item><item><term>Errors (inherited from <see cref="T:System.Data.Common.RowUpdatedEventArgs" />)</term><description>Gets any errors generated by the .NET data provider when the <see cref="M:System.Data.Common.DbDataAdapter.Command(System.Data.DataSet)" /> was executed.</description></item><item><term>RecordsAffected (inherited from <see cref="T:System.Data.Common.RowUpdatedEventArgs" />)</term><description>Gets the number of rows changed, inserted, or deleted by execution of the SQL statement.</description></item><item><term>Row (inherited from <see cref="T:System.Data.Common.RowUpdatedEventArgs" />)</term><description>Gets the <see cref="T:System.Data.DataRow" /> sent through an <see cref="M:System.Data.Common.DbDataAdapter.Update(System.Data.DataSet)" />.</description></item><item><term>StatementType (<see cref="T:System.Data.Common.RowUpdatedEventArgs" />)</term><description>Gets the type of SQL statement executed.</description></item><item><term>Status (inherited from <see cref="T:System.Data.Common.RowUpdatedEventArgs" />)</term><description>Gets the UpdateStatus of the <see cref="M:System.Data.Common.DbDataAdapter.Command(System.Data.DataSet)" />.</description></item><item><term>TableMapping (inherited from <see cref="T:System.Data.Common.RowUpdatedEventArgs" />)</term><description>Gets the DataTableMapping sent through an <see cref="M:System.Data.Common.DbDataAdapter.Update(System.Data.DataSet)" />.</description></item></list><para>When using the <see cref="M:System.Data.Common.DbDataAdapter.Update(System.Data.DataSet)" /> method, there are two events that occur per data row updated. The order of execution is as follows: </para><list type="number"><item><description>The values in the <see cref="T:System.Data.DataRow" /> are moved to the parameter values.</description></item><item><description>The <see cref="E:Devart.Data.Oracle.OracleDataAdapter.RowUpdating" /> event is raised.</description></item><item><description>The command executes.</description></item><item><description>If the <see cref="T:System.Data.UpdateRowSource" /> enumeration is set to <see cref="T:System.Data.UpdateRowSource.FirstReturnedRecordS" />, the first returned result is placed in the <see cref="T:System.Data.DataRow" />.</description></item><item><description>If there are output parameters, they are placed in the <see cref="T:System.Data.DataRow" />.</description></item><item><description>The <see cref="E:Devart.Data.Oracle.OracleDataAdapter.RowUpdated" /> event is raised.</description></item><item><description><see cref="M:System.Data.DataRow.AcceptChanges" /> is called.</description></item></list> </remarks>
      <keywords>OracleDataTable.RowUpdated event </keywords>
    </member>
    <member name="E:Devart.Data.Oracle.OracleDataTable.RowUpdating">
      <summary>Occurs during <see cref="M:System.Data.Common.DbDataAdapter.Update(System.Data.DataSet)" /> before a command is executed against the data source. The attempt to update is made, so the event fires. </summary>
      <remarks>The event handler receives an argument of type <see cref="T:Devart.Data.Oracle.OracleRowUpdatingEventArgs" /> containing data related to this event. The following <see cref="T:Devart.Data.Oracle.OracleRowUpdatingEventArgs" /> properties provide information specific to this event.
<list type="table"><listheader><term>Property</term><description>Description</description></listheader><item><term><see cref="P:Devart.Data.Oracle.OracleRowUpdatedEventArgs.Command" /></term><description>Gets the <see cref="T:Devart.Data.Oracle.OracleCommand" /> executed when <see cref="M:System.Data.Common.DbDataAdapter.Update(System.Data.DataSet)" /> is called.</description></item><item><term>Errors (inherited from <see cref="T:System.Data.Common.RowUpdatingEventArgs" />)</term><description>Gets any errors generated by the .NET data provider when the <see cref="M:System.Data.Common.DbDataAdapter.Command(System.Data.DataSet)" /> was executed.</description></item><item><term>Row (inherited from <see cref="T:System.Data.Common.RowUpdatingEventArgs" />)</term><description>Gets the <see cref="T:System.Data.DataRow" /> to sent through an <see cref="M:System.Data.Common.DbDataAdapter.Update(System.Data.DataSet)" />.</description></item><item><term>StatementType (<see cref="T:System.Data.Common.RowUpdatingEventArgs" />)</term><description>Gets the type of SQL statement to execute.</description></item><item><term>Status (inherited from <see cref="T:System.Data.Common.RowUpdatingEventArgs" />)</term><description>Gets the UpdateStatus of the <see cref="M:System.Data.Common.DbDataAdapter.Command(System.Data.DataSet)" />.</description></item><item><term>TableMapping (inherited from <see cref="T:System.Data.Common.RowUpdatingEventArgs" />)</term><description>Gets the DataTableMapping to sent through an <see cref="M:System.Data.Common.DbDataAdapter.Update(System.Data.DataSet)" />.</description></item></list><para>When using the <see cref="M:System.Data.Common.DbDataAdapter.Update(System.Data.DataSet)" /> method, there are two events that occur per data row updated. The order of execution is as follows: </para><list type="number"><item><description>The values in the <see cref="T:System.Data.DataRow" /> are moved to the parameter values.</description></item><item><description>The <see cref="E:Devart.Data.Oracle.OracleDataAdapter.RowUpdating" /> event is raised.</description></item><item><description>The command executes.</description></item><item><description>If the <see cref="T:System.Data.UpdateRowSource" /> enumeration is set to <see cref="T:System.Data.UpdateRowSource.FirstReturnedRecordS" />, the first returned result is placed in the <see cref="T:System.Data.DataRow" />.</description></item><item><description>If there are output parameters, they are placed in the <see cref="T:System.Data.DataRow" />.</description></item><item><description>The <see cref="E:Devart.Data.Oracle.OracleDataAdapter.RowUpdated" /> event is raised.</description></item><item><description><see cref="M:System.Data.DataRow.AcceptChanges" /> is called.</description></item></list> </remarks>
      <keywords>OracleDataTable.RowUpdating event </keywords>
    </member>
    <member name="P:Devart.Data.Oracle.OracleDataTable.SelectCommand">
      <summary>Gets or sets an Oracle statement used to select records in the data source. </summary>
      <remarks>
        <see cref="P:Devart.Data.Oracle.OracleDataTable.SelectCommand" /> uses its own <b>Connection</b> if it is created. Otherwise <see cref="P:Devart.Data.Oracle.OracleDataTable.SelectCommand" /> uses <see cref="P:Devart.Data.Oracle.OracleDataTable.Connection" />.
<para>This property supports the <a href="InterForm.html">InterForm</a> technology.</para> </remarks>
      <example>This sample shows how to create a <see cref="T:Devart.Data.Oracle.OracleDataTable" /> and retrieve data from a table. <code lang="csharp">public void UseDataTable(OracleConnection myConnection)
{
  OracleDataTable myDataTable = new OracleDataTable();
  myDataTable.Connection = myConnection;
  myDataTable.SelectCommand = new OracleCommand("SELECT * FROM Test.Dept");
  try
  {
    myDataTable.Active = true;
    foreach(DataRow myRow in myDataTable.Rows)
    {
      foreach(DataColumn myCol in myDataTable.Columns)
      {
        Console.Write(myRow[myCol]+"\t");
      }
      Console.WriteLine();
    }
  }
  finally
  {
    myDataTable.Active = false;
  }
} </code><code lang="vb">Public Sub UseDataTable(ByVal myConnection As OracleConnection)
  Dim myDataTable As OracleDataTable = New OracleDataTable
  myDataTable.Connection = myConnection
  myDataTable.SelectCommand = New OracleCommand("SELECT * FROM Test.Dept")
  Try
    myDataTable.Active = True
    Dim myRow As DataRow
    Dim myCol As DataColumn
    For Each myRow In myDataTable.Rows
      For Each myCol In myDataTable.Columns
        Console.Write(myRow(myCol) &amp; Chr(9))
      Next myCol
      Console.WriteLine()
    Next myRow
  Finally
    myDataTable.Active = False
  End Try
End Sub </code></example>
      <seealso cref="P:Devart.Data.Oracle.OracleDataTable.DeleteCommand" />
      <seealso cref="P:Devart.Data.Oracle.OracleDataTable.InsertCommand" />
      <seealso cref="P:Devart.Data.Oracle.OracleDataTable.UpdateCommand" />
      <keywords>OracleDataTable.SelectCommand property </keywords>
      <value>A <see cref="T:Devart.Data.Oracle.OracleCommand" /> that is used during a fill operation to select records from the database for placement in the <see cref="T:System.Data.DataSet" />. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleDataTable.SplitObjects">
      <summary>Determines how attributes of Oracle objects are stored and represented in <see cref="T:Devart.Data.Oracle.OracleDataTable" />. </summary>
      <remarks>This property has no effect when <see cref="P:Devart.Data.Oracle.OracleDataTable.ObjectView" /> property is <see langword="true" />. </remarks>
      <keywords>OracleDataTable.SplitObjects property </keywords>
      <value>If <see langword="true" />, Oracle objects are decomposed to individual attributes. Otherwise objects are represented as <see cref="T:Devart.Data.Oracle.OracleObject" />. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleDataTable.TableMapping">
      <summary>Gets a <see cref="T:System.Data.Common.DataTableMapping" /> object that provides the master mapping between a source table and a <see cref="T:Devart.Data.Oracle.OracleDataTable" />. </summary>
      <remarks>When reconciling changes, the <see cref="T:Devart.Data.Oracle.OracleDataAdapter" /> uses the <see cref="T:System.Data.Common.DataTableMapping" /> to associate the column names used by the data source with the column names used by the <see cref="T:Devart.Data.Oracle.OracleDataTable" />. </remarks>
      <keywords>OracleDataTable.TableMapping property </keywords>
      <value>A <see cref="T:System.Data.Common.DataTableMapping" /> object that provides the master mapping between the returned records and the <see cref="T:Devart.Data.Oracle.OracleDataTable" />. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDataTable.Update()">
      <summary>Executes the appropriate commands to delete, insert, or update rows in the data source. </summary>
      <keywords>OracleDataTable.Update method </keywords>
      <returns>The number of rows successfully updated from the <see cref="T:Devart.Data.Oracle.OracleDataTable" />. </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleDataTable.UpdateCommand">
      <summary>Gets or sets an Oracle statement used to update records in the data source. </summary>
      <remarks>
        <see cref="P:Devart.Data.Oracle.OracleDataTable.UpdateCommand" /> uses its own <b>Connection</b> if it is created. Otherwise <see cref="P:Devart.Data.Oracle.OracleDataTable.UpdateCommand" /> uses <see cref="P:Devart.Data.Oracle.OracleDataTable.Connection" />. </remarks>
      <example>This sample shows how to modify and display data using <see cref="T:Devart.Data.Oracle.OracleDataTable" />. <code lang="csharp">public void UseDataTable(OracleConnection myConnection)
{
  OracleDataTable myDataTable = new OracleDataTable("SELECT * FROM Test.Dept", myConnection);
  try
  {
    myDataTable.Active = true;
    myDataTable.Rows[3]["DName"] = "Researches";
    myDataTable.UpdateCommand = new OracleCommand("UPDATE Test.Dept SET DeptNo = :DeptNo, DName = :DName, Loc = 'Modified' " +
        "WHERE DeptNo = :oldDeptNo", myConnection);
    myDataTable.UpdateCommand.Parameters.Add("DeptNo", OracleDbType.Integer, 0, "DeptNo");
    myDataTable.UpdateCommand.Parameters.Add("DName", OracleDbType.VarChar, 15, "DName");
    myDataTable.UpdateCommand.Parameters.Add("oldDeptNo", OracleDbType.Integer, 0, "DeptNo").SourceVersion = DataRowVersion.Original;
    Console.WriteLine(myDataTable.Update()+" rows updated.");
    myDataTable.Active = false;
    //Refresh the table to check custom updates
    myDataTable.Active = true;                  
    foreach(DataRow myRow in myDataTable.Rows)
    {
      foreach(DataColumn myCol in myDataTable.Columns)
      {
        Console.Write(myRow[myCol]+"\t");
      }
      Console.WriteLine();
    }
  }
  finally
  {
    myDataTable.Active = false;
  }
} </code><code lang="vb">Public Sub UseDataTable(ByVal myConnection As OracleConnection)
  Dim myDataTable As OracleDataTable = New OracleDataTable("SELECT * FROM Test.Dept", myConnection)
  Try
    myDataTable.Active = True
    myDataTable.Rows(3)("DName") = "Researches"
    myDataTable.UpdateCommand = New OracleCommand("UPDATE Test.Dept SET DeptNo = :DeptNo, DName = :DName, Loc='Modified' " &amp; _
        "WHERE DeptNo = :oldDeptNo", myConnection)
    myDataTable.UpdateCommand.Parameters.Add("DeptNo", OracleDbType.Integer, 0, "DeptNo")
    myDataTable.UpdateCommand.Parameters.Add("DName", OracleDbType.VarChar, 15, "DName")
    myDataTable.UpdateCommand.Parameters.Add("oldDeptNo", OracleDbType.Integer, 0, "DeptNo").SourceVersion = DataRowVersion.Original
    Console.WriteLine(myDataTable.Update() &amp; " rows updated.")
    myDataTable.Active = False
    ' Refresh the table to check custom updates
    myDataTable.Active = True
    Dim myRow As DataRow
    Dim myCol As DataColumn
    For Each myRow In myDataTable.Rows
      For Each myCol In myDataTable.Columns
        Console.Write(myRow(myCol) &amp; Chr(9))
      Next myCol
      Console.WriteLine()
    Next myRow
  Finally
    myDataTable.Active = False
  End Try
End Sub </code></example>
      <seealso cref="P:Devart.Data.Oracle.OracleDataTable.DeleteCommand" />
      <seealso cref="P:Devart.Data.Oracle.OracleDataTable.InsertCommand" />
      <seealso cref="P:Devart.Data.Oracle.OracleDataTable.SelectCommand" />
      <keywords>OracleDataTable.UpdateCommand property </keywords>
      <value>A <see cref="T:Devart.Data.Oracle.OracleCommand" /> used during an update operation to update records in the database that correspond to modified rows in the <see cref="T:System.Data.DataSet" />. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleDataTable.UpdatingFields">
      <summary>Gets or sets string containing list of field names used to generate update commands. </summary>
      <keywords>OracleDataTable.UpdatingFields property </keywords>
      <value>The string containing list of field names separated by semicolon. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleDataTable.UpdatingKeyFields">
      <summary>Gets or sets string containing list of key field names separated by semicolon. They are used to generate update commands. </summary>
      <keywords>OracleDataTable.UpdatingKeyFields property </keywords>
      <value>The string containing list of key field names separated by semicolon. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleDataTable.UpdatingTable">
      <summary>Gets or sets table name to generate update statements for. </summary>
      <remarks>Use the <see cref="P:Devart.Data.Oracle.OracleDataTable.UpdatingTable" /> property to generate SQL statements for specific table in a complicated query. </remarks>
      <keywords>OracleDataTable.UpdatingTable property </keywords>
      <value>The name of the table. </value>
    </member>
    <member name="T:Devart.Data.Oracle.OracleDate">
      <summary>Represents the Oracle DATE data type. </summary>
      <remarks>To obtain an <see cref="T:Devart.Data.Oracle.OracleDate" /> object call the <see cref="M:Devart.Data.Oracle.OracleDataReader.GetOracleDate" /> method of the <see cref="T:Devart.Data.Oracle.OracleDataReader" /> class. </remarks>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDate.#ctor(System.DateTime)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleDate" /> structure with the specified <see cref="T:System.DateTime" />. </summary>
      <param name="dt">The specified <see cref="T:System.DateTime" />. </param>
      <overloads>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleDate" /> structure. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDate.#ctor(System.Int32,System.Int32,System.Int32)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleDate" /> structure with the specified year, month, and day. </summary>
      <param name="year">The specified year. </param>
      <param name="month">The specified month. </param>
      <param name="day">The specified day. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDate.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleDate" /> structure with the specified year, month, day, hour, minute, and second. </summary>
      <param name="year">The specified year. </param>
      <param name="month">The specified month. </param>
      <param name="day">The specified day. </param>
      <param name="hour">The specified hour. </param>
      <param name="minute">The specified minute. </param>
      <param name="second">The specified second. </param>
    </member>
    <member name="P:Devart.Data.Oracle.OracleDate.BinData">
      <summary>Gets an array of bytes that represents an Oracle DATE data type in Oracle internal format. </summary>
      <keywords>OracleDate.BinData property </keywords>
      <value>An array of bytes. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDate.CompareTo(System.Object)">
      <summary>Compares the current <see cref="T:Devart.Data.Oracle.OracleDate" /> object to the specified object and returns an integer that represents their relative values. </summary>
      <keywords>OracleDate.CompareTo method </keywords>
      <param name="obj">The object to be compared. </param>
      <returns>A signed number indicating the relative values of the current <see cref="T:Devart.Data.Oracle.OracleDate" /> structure and the object.
<list type="table">
  <listheader>
    <term>Return Value</term>
    <description>Condition</description>
  </listheader>
  <item>
    <term>Less than zero</term>
    <description>The value of the current <see cref="T:Devart.Data.Oracle.OracleDate" /> object is less than the object.</description>
  </item>
  <item>
    <term>Zero</term>
    <description>The current <see cref="T:Devart.Data.Oracle.OracleDate" /> object is the same to the object.</description>
   </item>
   <item>
     <term>Greater than zero</term>
     <description>The current <see cref="T:Devart.Data.Oracle.OracleDate" /> object is greater than the object.</description>
   </item>
</list> </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleDate.Day">
      <summary>Gets the value of the <see cref="T:Devart.Data.Oracle.OracleDate" /> structure as a day. </summary>
      <keywords>OracleDate.Day property </keywords>
      <value>A number that represents the day value between 1 and 31. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDate.Equals(Devart.Data.Oracle.OracleDate,Devart.Data.Oracle.OracleDate)">
      <summary>Determines whether two <see cref="T:Devart.Data.Oracle.OracleDate" /> values are equal. </summary>
      <keywords>OracleDate.Equals method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleDate" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleDate" />. </param>
      <returns><see langword="true" /> if two <see cref="T:Devart.Data.Oracle.OracleDate" /> values are equal; otherwise, <see langword="false" />. </returns>
      <overloads>Compares two <see cref="T:Devart.Data.Oracle.OracleDate" /> structures to determine if they are equal. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDate.Equals(System.Object)">
      <summary>Compares the specified object parameter to the <see cref="P:Devart.Data.Oracle.OracleDate.Value" /> property of the <see cref="T:Devart.Data.Oracle.OracleDate" /> object. </summary>
      <keywords>OracleDate.Equals method </keywords>
      <param name="value">The object to be compared. </param>
      <returns><see langword="true" /> if object is an instance of the <see cref="T:Devart.Data.Oracle.OracleDate" /> and has the same date and time; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDate.GetDaysBetween(Devart.Data.Oracle.OracleDate)">
      <summary>Calculates the number of days between the current <see cref="T:Devart.Data.Oracle.OracleDate" /> instance and the specified <see cref="T:Devart.Data.Oracle.OracleDate" /> structure. </summary>
      <keywords>OracleDate.GetDaysBetween method </keywords>
      <param name="val">The specified <see cref="T:Devart.Data.Oracle.OracleDate" /> structure. </param>
      <returns>The number of days between the current <see cref="T:Devart.Data.Oracle.OracleDate" /> instance and the specified <see cref="T:Devart.Data.Oracle.OracleDate" /> structure. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDate.GetHashCode()">
      <summary>Gets a hash code for the <see cref="T:Devart.Data.Oracle.OracleDate" /> instance. </summary>
      <keywords>OracleDate.GetHashCode method </keywords>
      <returns>A 32-bit signed integer hash code. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDate.GetSysDate()">
      <summary>Gets an <see cref="T:Devart.Data.Oracle.OracleDate" /> structure that represents the current date and time. </summary>
      <keywords>OracleDate.GetSysDate method </keywords>
      <returns>An <see cref="T:Devart.Data.Oracle.OracleDate" /> structure that represents the current date and time. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDate.GreaterThan(Devart.Data.Oracle.OracleDate,Devart.Data.Oracle.OracleDate)">
      <summary>Determines whether the first of two <see cref="T:Devart.Data.Oracle.OracleDate" /> values is greater than the second. </summary>
      <keywords>OracleDate.GreaterThan method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleDate" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleDate" />. </param>
      <returns><see langword="true" /> if the first of two <see cref="T:Devart.Data.Oracle.OracleDate" /> values is greater than the second; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDate.GreaterThanOrEqual(Devart.Data.Oracle.OracleDate,Devart.Data.Oracle.OracleDate)">
      <summary>Determines whether the first of two <see cref="T:Devart.Data.Oracle.OracleDate" /> values is greater than or equal to the second. </summary>
      <keywords>OracleDate.GreaterThanOrEqual method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleDate" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleDate" />. </param>
      <returns><see langword="true" /> if the first of two <see cref="T:Devart.Data.Oracle.OracleDate" /> values is greater than or equal to the second; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleDate.Hour">
      <summary>Gets the value of the <see cref="T:Devart.Data.Oracle.OracleDate" /> structure as an hour. </summary>
      <keywords>OracleDate.Hour property </keywords>
      <value>A number that represents the hour value between 0 and 23. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleDate.IsNull">
      <summary>Gets a value indicating whether the <see cref="P:Devart.Data.Oracle.OracleDate.Value" /> property of the <see cref="T:Devart.Data.Oracle.OracleDate" /> is <see cref="F:Devart.Data.Oracle.OracleDate.Null" />. </summary>
      <keywords>OracleDate.IsNull property </keywords>
      <value><see langword="true" /> if the <see cref="P:Devart.Data.Oracle.OracleDate.Value" /> is <see cref="F:Devart.Data.Oracle.OracleDate.Null" />; otherwise, <see langword="false" />. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDate.LessThan(Devart.Data.Oracle.OracleDate,Devart.Data.Oracle.OracleDate)">
      <summary>Determines whether the first of two <see cref="T:Devart.Data.Oracle.OracleDate" /> values is less than the second. </summary>
      <keywords>OracleDate.LessThan method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleDate" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleDate" />. </param>
      <returns><see langword="true" /> if the first of two <see cref="T:Devart.Data.Oracle.OracleDate" /> values is less than the second; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDate.LessThanOrEqual(Devart.Data.Oracle.OracleDate,Devart.Data.Oracle.OracleDate)">
      <summary>Determines whether the first of two <see cref="T:Devart.Data.Oracle.OracleDate" /> values is less than or equal to the second. </summary>
      <keywords>OracleDate.LessThanOrEqual method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleDate" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleDate" />. </param>
      <returns><see langword="true" /> if the first of two <see cref="T:Devart.Data.Oracle.OracleDate" /> values is less than or equal to the second; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="F:Devart.Data.Oracle.OracleDate.MaxValue">
      <summary>Represents the maximum valid date value for an <see cref="T:Devart.Data.Oracle.OracleDate" /> structure. </summary>
      <remarks>The maximum valid date for an <see cref="T:Devart.Data.Oracle.OracleDate" /> structure is December 31, 9999 23:59:59. </remarks>
      <keywords>OracleDate.MaxValue field </keywords>
    </member>
    <member name="F:Devart.Data.Oracle.OracleDate.MinValue">
      <summary>Represents the minimum valid date value for an <see cref="T:Devart.Data.Oracle.OracleDate" /> structure. </summary>
      <remarks>The minimum valid date for an <see cref="T:Devart.Data.Oracle.OracleDate" /> structure is January 1, -4712. </remarks>
      <keywords>OracleDate.MinValue field </keywords>
    </member>
    <member name="P:Devart.Data.Oracle.OracleDate.Minute">
      <summary>Gets the value of the <see cref="T:Devart.Data.Oracle.OracleDate" /> structure as a minute. </summary>
      <keywords>OracleDate.Minute property </keywords>
      <value>A number that represents the minute value between 0 and 59. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleDate.Month">
      <summary>Gets the value of the <see cref="T:Devart.Data.Oracle.OracleDate" /> structure as a month. </summary>
      <keywords>OracleDate.Month property </keywords>
      <value>A number that represents the month value between 1 and 12. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDate.NotEquals(Devart.Data.Oracle.OracleDate,Devart.Data.Oracle.OracleDate)">
      <summary>Determines whether two <see cref="T:Devart.Data.Oracle.OracleDate" /> values are not equal. </summary>
      <keywords>OracleDate.NotEquals method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleDate" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleDate" />. </param>
      <returns><see langword="true" /> if two <see cref="T:Devart.Data.Oracle.OracleDate" /> values are not equal; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="F:Devart.Data.Oracle.OracleDate.Null">
      <summary>Represents a null value that can be assigned to the <see cref="P:Devart.Data.Oracle.OracleDate.Value" /> property of an <see cref="T:Devart.Data.Oracle.OracleDate" /> structure. </summary>
      <keywords>OracleDate.Null field </keywords>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDate.Parse(System.String)">
      <summary>Converts the specified <see cref="T:System.String" /> representation of a date and time to its <see cref="T:Devart.Data.Oracle.OracleDate" /> equivalent. </summary>
      <keywords>OracleDate.Parse method </keywords>
      <param name="value">The <see cref="T:System.String" /> to be parsed. </param>
      <returns>An <see cref="T:Devart.Data.Oracle.OracleDate" /> structure equal to the date and time represented by the specified <see cref="T:System.String" />. </returns>
      <overloads>Converts the specified <see cref="T:System.String" /> representation of a date and time to its <see cref="T:Devart.Data.Oracle.OracleDate" /> equivalent. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDate.Parse(System.String,System.String)">
      <summary>Converts the specified <see cref="T:System.String" /> representation of a date and time to its <see cref="T:Devart.Data.Oracle.OracleDate" /> equivalent using the specified format. </summary>
      <keywords>OracleDate.Parse method </keywords>
      <param name="value">A <see cref="T:System.String" /> to be parsed. </param>
      <param name="format">A <see cref="T:System.String" /> containing Oracle date format to be parsed. </param>
      <returns>An <see cref="T:Devart.Data.Oracle.OracleDate" /> structure equal to the date and time represented by the specified <see cref="T:System.String" />. </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleDate.Second">
      <summary>Gets the value of the <see cref="T:Devart.Data.Oracle.OracleDate" /> structure as a second. </summary>
      <keywords>OracleDate.Second property </keywords>
      <value>A number that represents the second value between 0 and 59. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDate.ToOracleTimeStamp()">
      <summary>Converts the current <see cref="T:Devart.Data.Oracle.OracleDate" /> structure to an Oracle TIMESTAMP. </summary>
      <keywords>OracleDate.ToOracleTimeStamp method </keywords>
      <returns>A <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> structure. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDate.ToString()">
      <summary>Converts the specified <see cref="T:Devart.Data.Oracle.OracleDate" /> structure to a <see cref="T:System.String" />. </summary>
      <keywords>OracleDate.ToString method </keywords>
      <returns>A <see cref="T:System.String" /> representing the <see cref="P:Devart.Data.Oracle.OracleDate.Value" /> property of the <see cref="T:Devart.Data.Oracle.OracleDate" /> structure. </returns>
      <overloads>Converts the specified <see cref="T:Devart.Data.Oracle.OracleDate" /> structure to a <see cref="T:System.String" />. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDate.ToString(System.String)">
      <summary>Converts the specified <see cref="T:Devart.Data.Oracle.OracleDate" /> structure to a <see cref="T:System.String" /> with the specified format. </summary>
      <keywords>OracleDate.ToString method </keywords>
      <param name="format">The date format to use. </param>
      <returns>A <see cref="T:System.String" /> representing the <see cref="P:Devart.Data.Oracle.OracleDate.Value" /> property of the <see cref="T:Devart.Data.Oracle.OracleDate" /> structure. </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleDate.Value">
      <summary>Gets the value of the <see cref="T:Devart.Data.Oracle.OracleDate" /> structure. </summary>
      <keywords>OracleDate.Value property </keywords>
      <value>The value of the <see cref="T:Devart.Data.Oracle.OracleDate" /> structure. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleDate.Year">
      <summary>Gets the value of the <see cref="T:Devart.Data.Oracle.OracleDate" /> structure as a year. </summary>
      <keywords>OracleDate.Year property </keywords>
      <value>A number that represents the year value between -4712 and 9999. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDate.op_Equality(Devart.Data.Oracle.OracleDate,Devart.Data.Oracle.OracleDate)">
      <summary>Determines whether two <see cref="T:Devart.Data.Oracle.OracleDate" /> values are the same. </summary>
      <keywords>OracleDate.op_Equality method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleDate" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleDate" />. </param>
      <returns><see langword="true" /> if two <see cref="T:Devart.Data.Oracle.OracleDate" /> values are equal; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDate.op_Explicit(Devart.Data.Oracle.OracleDate)~System.DateTime">
      <summary>Converts an <see cref="T:Devart.Data.Oracle.OracleDate" /> structure to a <see cref="T:System.DateTime" /> structure. </summary>
      <keywords>OracleDate.op_Explicit method </keywords>
      <param name="val">An <see cref="T:Devart.Data.Oracle.OracleDate" /> structure. </param>
      <returns>A <see cref="T:System.DateTime" /> structure. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDate.op_Explicit(System.DateTime)~Devart.Data.Oracle.OracleDate">
      <summary>Converts a <see cref="T:System.DateTime" /> structure to an <see cref="T:Devart.Data.Oracle.OracleDate" /> structure. </summary>
      <keywords>OracleDate.op_Explicit method </keywords>
      <param name="dt">A <see cref="T:System.DateTime" /> structure. </param>
      <returns>An <see cref="T:Devart.Data.Oracle.OracleDate" /> structure. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDate.op_GreaterThan(Devart.Data.Oracle.OracleDate,Devart.Data.Oracle.OracleDate)">
      <summary>Compares two <see cref="T:Devart.Data.Oracle.OracleDate" /> structures to determine if the first is greater than the second. </summary>
      <keywords>OracleDate.op_GreaterThan method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleDate" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleDate" />. </param>
      <returns><see langword="true" /> if the first of two <see cref="T:Devart.Data.Oracle.OracleDate" /> values is greater than the second; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDate.op_GreaterThanOrEqual(Devart.Data.Oracle.OracleDate,Devart.Data.Oracle.OracleDate)">
      <summary>Compares two <see cref="T:Devart.Data.Oracle.OracleDate" /> structures to determine if the first is greater than or equal to the second. </summary>
      <keywords>OracleDate.op_GreaterThanOrEqual method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleDate" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleDate" />. </param>
      <returns><see langword="true" /> if the first of two <see cref="T:Devart.Data.Oracle.OracleDate" /> values is greater than or equal to the second; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDate.op_Inequality(Devart.Data.Oracle.OracleDate,Devart.Data.Oracle.OracleDate)">
      <summary>Determines whether two <see cref="T:Devart.Data.Oracle.OracleDate" /> values are not equal. </summary>
      <keywords>OracleDate.op_Inequality method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleDate" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleDate" />. </param>
      <returns><see langword="true" /> if two <see cref="T:Devart.Data.Oracle.OracleDate" /> values are not equal; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDate.op_LessThan(Devart.Data.Oracle.OracleDate,Devart.Data.Oracle.OracleDate)">
      <summary>Compares two <see cref="T:Devart.Data.Oracle.OracleDate" /> structures to determine if the first is less than the second. </summary>
      <keywords>OracleDate.op_LessThan method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleDate" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleDate" />. </param>
      <returns><see langword="true" /> if the first of two <see cref="T:Devart.Data.Oracle.OracleDate" /> values is less than the second; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDate.op_LessThanOrEqual(Devart.Data.Oracle.OracleDate,Devart.Data.Oracle.OracleDate)">
      <summary>Compares two <see cref="T:Devart.Data.Oracle.OracleDate" /> structures to determine if the first is less than or equal to the second. </summary>
      <keywords>OracleDate.op_LessThanOrEqual method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleDate" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleDate" />. </param>
      <returns><see langword="true" /> if the first of two <see cref="T:Devart.Data.Oracle.OracleDate" /> values is less than or equal to the second; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="T:Devart.Data.Oracle.OracleDbType">
      <summary>Specifies the data type of a field, property, <see cref="T:Devart.Data.Oracle.OracleParameter" /> or <see cref="T:Devart.Data.Oracle.OracleAttribute" />. </summary>
      <remarks>This table shows mappings between <see cref="T:Devart.Data.Oracle.OracleDbType" /> values, Oracle data types, Microsoft .NET Framework types. </remarks>
    </member>
    <member name="F:Devart.Data.Oracle.OracleDbType.AnyData">
      <summary>An ANYDATA TYPE contains an instance of a given type, plus a description of the type. In this sense, an ANYDATA is self-describing. An ANYDATA can be persistently stored in the database. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleDbType.Array">
      <summary>An Oracle VARRAY data type representing a variable-length array. May be represented as the <see cref="T:Devart.Data.Oracle.OracleArray" /> class. This type does not have corresponding .NET Framework type. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleDbType.BFile">
      <summary>An Oracle BFILE data type that contains a reference to binary data stored in an external file. May be represented as the <see cref="T:Devart.Data.Oracle.OracleBFile" /> class or array of <see cref="T:System.Byte" />. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleDbType.Blob">
      <summary>A LOB data type that contains a variable-length stream of binary data. Represented as the array of <see cref="T:System.Byte" />. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleDbType.Boolean">
      <summary>A simple type representing Boolean values of <see langword="true" /> or <see langword="false" />. Corresponds to the server PL/SQL BOOLEAN type. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleDbType.Char">
      <summary>A CHAR data type that contains a fixed-length character string. Represented as the <see cref="T:System.String" />. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleDbType.Clob">
      <summary>An Oracle CLOB data type that contains a variable-length character data. May be represented as the <see cref="T:Devart.Data.Oracle.OracleLob" /> class or the <see cref="T:System.String" />. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleDbType.Cursor">
      <summary>An Oracle REF CURSOR. This type does not have corresponding .NET Framework type. The <see cref="T:Devart.Data.Oracle.OracleDataReader" /> object can be used to retrieve cursor content. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleDbType.Date">
      <summary>An Oracle DATE data type. May be represented as the <see cref="T:Devart.Data.Oracle.OracleDate" /> class. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleDbType.Double">
      <summary>An Oracle NUMBER(p, s) [p &gt;= 10 or s &gt; 0] data type and BINARY_DOUBLE number data type of Oracle 10g that contains a double-precision floating-point value. A floating point type representing values ranging from approximately -1.79 x 10(308) to 1.79 x 10(308) with a precision of 15-16 digits. May be represented as the <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure or the <see cref="T:System.Double" />. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleDbType.Float">
      <summary>An Oracle 10g BINARY_FLOAT number data type that contains a single-precision floating-point value. A floating point type representing values ranging from approximately -3.4 x 10(38) to 3.4 x 10(38). May be represented as the <see cref="T:System.Single" />. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleDbType.Integer">
      <summary>An Oracle NUMBER(p) [p &lt; 10] data type that contains a signed 32-bit integers with values between -2147483648 and 2147483647. May be represented as the <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure or the <see cref="T:System.Int32" />. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleDbType.IntervalDS">
      <summary>An Oracle INTERVAL DAY TO SECOND data type that contains an interval of time in days, hours, minutes, and seconds. May be represented as the <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> structure or the <see cref="T:System.TimeSpan" />. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleDbType.IntervalYM">
      <summary>An Oracle INTERVAL YEAR TO MONTH data type that contains an interval of time in years and months. May be represented as the <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> structure or the <see cref="T:System.Int64" />. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleDbType.Long">
      <summary>An Oracle LONG data type that contains a variable-length character string. May be represented as the <see cref="T:Devart.Data.Oracle.OracleString" /> structure or the <see cref="T:System.String" />. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleDbType.LongRaw">
      <summary>An Oracle LONG RAW data type that contains a variable-length stream of binary data. May be represented as the <see cref="T:Devart.Data.Oracle.OracleBinary" /> structure or array of <see cref="T:System.Byte" />. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleDbType.NChar">
      <summary>An Oracle NCHAR data type that contains a fixed-length national character string. May be represented as the <see cref="T:Devart.Data.Oracle.OracleString" /> structure or the <see cref="T:System.String" />. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleDbType.NClob">
      <summary>An Oracle NCLOB data type that contains a national variable-length character data. May be represented as the <see cref="T:Devart.Data.Oracle.OracleLob" /> class or the <see cref="T:System.String" />. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleDbType.NVarChar">
      <summary>An Oracle NVARCHAR data type that contains a variable-length national character string. May be represented as the <see cref="T:Devart.Data.Oracle.OracleString" /> structure or the <see cref="T:System.String" />. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleDbType.Number">
      <summary>An Oracle NUMBER data type that contains variable-length numeric data with a maximum precision and scale of 38. May be represented as the <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure or the <see cref="T:System.Decimal" />. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleDbType.Object">
      <summary>One of the Oracle object types defined by the user. May be represented as the <see cref="T:Devart.Data.Oracle.OracleObject" /> class. This type does not have corresponding .NET Framework type. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleDbType.Raw">
      <summary>An Oracle RAW data type that contains a fixed-length stream of binary data ranging between 1 and 4,000 bytes. May be represented as the <see cref="T:Devart.Data.Oracle.OracleBinary" /> structure or array of <see cref="T:System.Byte" />. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleDbType.Ref">
      <summary>An Oracle REF data type that contains a reference to the object. May be represented as the <see cref="T:Devart.Data.Oracle.OracleRef" /> class. This type does not have corresponding .NET Framework type. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleDbType.RowId">
      <summary>The string representation of an Oracle ROWID data type. May be represented as the <see cref="T:Devart.Data.Oracle.OracleString" /> structure or the <see cref="T:System.String" />. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleDbType.Table">
      <summary>An Oracle NESTED TABLE data type, an unordered set of data elements, all of the same type. May be represented as the <see cref="T:Devart.Data.Oracle.OracleTable" /> class.  This type does not have corresponding .NET Framework type. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleDbType.TimeStamp">
      <summary>A TIMESTAMP data type that contains date and time, including seconds. Represented as the <see cref="T:System.DateTime" />. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleDbType.TimeStampLTZ">
      <summary>An Oracle TIMESTAMP WITH LOCAL TIMEZONE data type that contains  date, time, and a reference to the original time zone. May be represented as the <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> structure or the <see cref="T:System.DateTime" />. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleDbType.TimeStampTZ">
      <summary>An Oracle TIMESTAMP WITH TIMEZONE data type that contains  date, time, and a specified time zone. May be represented as the <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> structure or the <see cref="T:System.DateTime" />. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleDbType.VarChar">
      <summary>A VARCHAR data type that contains a variable-length character string. Represented as the <see cref="T:System.String" />. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleDbType.Xml">
      <summary>An Oracle XMLType type that contains XML data. May be represented as the <see cref="T:Devart.Data.Oracle.OracleXml" /> object. </summary>
    </member>
    <member name="T:Devart.Data.Oracle.OracleDependency">
      <summary>Represents a dependency between an application and an Oracle database. </summary>
      <remarks><para>
The <see cref="T:Devart.Data.Oracle.OracleDependency" /> class enables the application to receive notifications about changes in some portions of data or database state. This feature is available since Oracle 10.2.0.2.
</para>
<para>
When you create an <see cref="T:Devart.Data.Oracle.OracleDependency" /> instance and add an <see cref="T:Devart.Data.Oracle.OracleCommand" /> object to it, a new <see cref="T:Devart.Data.Oracle.OracleNotificationRequest" /> is created, prepared, and assigned to the <see cref="P:Devart.Data.Oracle.OracleCommand.Notification" /> property. Upon the first execution of the <see cref="T:Devart.Data.Oracle.OracleCommand" />, the <see cref="T:Devart.Data.Oracle.OracleDependency" /> object registers the notification and starts listening for messages from Oracle server on a port specified by the <see cref="P:Devart.Data.Oracle.OracleDependency.Port" /> property. Every time a notification is received the <see cref="T:Devart.Data.Oracle.OracleDependency" /> fires the <see cref="E:Devart.Data.Oracle.OracleDependency.OnChange" /> event. For continuous notifications (<see cref="P:Devart.Data.Oracle.OracleNotificationRequest.IsNotifiedOnce" /> is false) the registration stops when the <see cref="P:Devart.Data.Oracle.OracleNotificationRequest.Timeout" /> is expired, <see cref="T:Devart.Data.Oracle.OracleCommand" /> is disposed, or current Oracle session is terminated.
</para>

<para>
This feature requires that the user has the appropriate privileges, specified with <i>grant change notification to...</i> statement.
</para>

<para>
This feature is not available in Direct mode.
</para>

<para>This class is not available in Mobile Edition.</para> </remarks>
      <example><para>To execute the following sample, you need that user Scott have the privilege to register change notifications. To grant him this privilege, the following script should be executed:</para>
<pre>grant change notification to Scott</pre>
<para>In the sample, the following actions are performed:</para>
<ol><li>an OracleDependency instance is registered for a simple select command;</li>
<li>an insert command is executed, changing the result set associated with the select command;</li>
<li>the notification is sent, it raises the OnChange event, which is then processed.</li></ol> <code lang="csharp">static void Main(string[] args)
{
	// Open the connection
	OracleConnection connection = new OracleConnection
		("Server = Ora; User Id = Scott; Password = tiger;");
	connection.Open();
            
	// Create the Select command retrieving all data from the Dept table.
	OracleCommand selectCommand = new OracleCommand("select * from dept", connection);

	// Create an OracleDependency object and set it to track the resul set returned by selectCommand.
	OracleDependency dependency = new OracleDependency(selectCommand);
	
	// Setting object-based change notification registration
	dependency.QueryBasedNotification = false;

	// When the IsNotifiedOnce property is true, only the first change 
	// of the traced result set will generate a notification.
	// Otherwise, notifications will be sent on each change 
	// during the selectCommand.Notification.Timeout period.
	selectCommand.Notification.IsNotifiedOnce = true;
	// Specifies whether notifications will contain information on rows changed.
	selectCommand.Notification.RowLevelDetails = true;

	// Set the event handler to the OnChange event.
	dependency.OnChange += new OnChangeEventHandler(OnDeptChange);
                        
	// When the select command is executed at the first time, a notification 
	// on changes of the corresponding result set is registered on the server.
	selectCommand.ExecuteReader();

	// Set and execute an insert command. The Dept table data will be changed, 
	// and a notification will be sent, causing the OnChange event of the 'dependency' object.
	OracleCommand insertCommand = new OracleCommand
		("insert into dept values (100, 'New department', 'Some location')", connection);
	insertCommand.ExecuteNonQuery();

	// Pause the current thread to process the event.
	Thread.Sleep(10000);

}

// A simple event handler to handle the OnChange event.
// Prints the change notification details.
static void OnDeptChange(Object sender, OracleNotificationEventArgs args)
{
	DataTable dt = args.Details;

	Console.WriteLine("The following database objects were changed:");
	foreach (string resource in args.ResourceNames)
		Console.WriteLine(resource);

	Console.WriteLine("\n Details:");
	Console.Write(new string('*', 80));
	for (int rows = 0; rows &lt; dt.Rows.Count; rows++)
	{
		Console.WriteLine("Resource name: " + dt.Rows[rows].ItemArray[0]);
		string type = Enum.GetName(typeof(OracleNotificationInfo), dt.Rows[rows].ItemArray[1]);
		Console.WriteLine("Change type: " + type);
		Console.Write(new string('*', 80));
	}
} </code><code lang="vb">Sub Main(ByVal args() As String)
	' Open the connection
	Dim connection = New OracleConnection( _
		"Server = Ora; User Id = Scott; Password = tiger;")
	connection.Open()

	' Create the Select command retrieving all data from the Dept table.
	Dim selectCommand = New OracleCommand("select * from dept", connection)

	' Create an OracleDependency object and set it to track the resul set returned by selectCommand.
	Dim dependency As OracleDependency = New OracleDependency(selectCommand)
	
	OracleDependency dependency = new OracleDependency(selectCommand);
// Setting object-based change notification registration
dependency.QueryBasedNotification = false;' Setting object-based change notification registration
	dependency.QueryBasedNotification = False

	' When the IsNotifiedOnce property is true, only the first change 
	' of the traced result set will generate a notification.
	' Otherwise, notifications will be sent on each change 
	' during the selectCommand.Notification.Timeout period.
	selectCommand.Notification.IsNotifiedOnce = True
	' Specifies whether notifications will contain information on rows changed.
	selectCommand.Notification.RowLevelDetails = True

	' Set the event handler to the OnChange event.
	AddHandler dependency.OnChange, AddressOf OnDeptChange

	' When the select command is executed at the first time, a notification 
	' on changes of the corresponding result set is registered on the server.
	selectCommand.ExecuteReader()

	' Set and execute an insert command. The Dept table data will be changed, 
	' and a notification will be sent, causing the OnChange event of the 'dependency' object.
	Dim insertCommand = New OracleCommand( _
		"insert into dept values (100, 'New department', 'Some location')", connection)
	insertCommand.ExecuteNonQuery()

	' Pause the current thread to process the event.
	Thread.Sleep(10000)

End Sub


' A simple event handler to handle the OnChange event.
' Prints the change notification details.
Sub OnDeptChange(ByVal sender As Object, ByVal args As OracleNotificationEventArgs)
	Dim dt As DataTable = args.Details

	Console.WriteLine("The following database objects were changed:")
	For Each resource As String In args.ResourceNames
		Console.WriteLine(resource)
	Next

	Console.WriteLine(vbCrLf + "Details: ")
	Console.Write(New String("*", 80))

	For rows As Integer = 0 To dt.Rows.Count - 1
		Console.WriteLine("Resource name: " + dt.Rows(rows).ItemArray(0))
	Dim type As String = [Enum].GetName( _
		GetType(OracleNotificationInfo), dt.Rows(rows).ItemArray(1))
	Console.WriteLine("Change type: " + type)
	Console.Write(New String("*", 80))
	Next
End Sub </code></example>
      <seealso cref="T:Devart.Data.Oracle.OracleNotificationRequest" />
    </member>
    <member name="M:Devart.Data.Oracle.OracleDependency.#ctor()">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleDependency" /> class. </summary>
      <remarks>This constructor uses the default values for <see cref="T:Devart.Data.Oracle.OracleNotificationRequest" /> properties. The <see cref="P:Devart.Data.Oracle.OracleNotificationRequest.IsNotifiedOnce" /> is set to true, <see cref="P:Devart.Data.Oracle.OracleNotificationRequest.IsPersistent" /> is set to false, and <see cref="P:Devart.Data.Oracle.OracleNotificationRequest.Timeout" /> is set to 50000 seconds. In other words, this overload creates a one-time notification request that is valid for approximately 14 hours. </remarks>
      <overloads>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleDependency" /> class. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDependency.#ctor(Devart.Data.Oracle.OracleCommand)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleDependency" /> class and binds an <see cref="T:Devart.Data.Oracle.OracleCommand" /> object. </summary>
      <remarks><para>
The <see cref="T:Devart.Data.Oracle.OracleDependency" /> registers the notification for the attached <see cref="T:Devart.Data.Oracle.OracleCommand" /> object when either of its <i>Execute</i> methods is invoked.
</para>
<para>
This constructor uses the default values for <see cref="T:Devart.Data.Oracle.OracleNotificationRequest" /> properties. The <see cref="P:Devart.Data.Oracle.OracleNotificationRequest.IsNotifiedOnce" /> is set to true, <see cref="P:Devart.Data.Oracle.OracleNotificationRequest.IsPersistent" /> is set to false, and <see cref="P:Devart.Data.Oracle.OracleNotificationRequest.Timeout" /> is set to 50000 seconds. In other words, this overload creates a one-time notification request that is valid for approximately 14 hours.
</para> </remarks>
      <param name="cmd">An <see cref="T:Devart.Data.Oracle.OracleCommand" /> object to bind. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDependency.#ctor(Devart.Data.Oracle.OracleCommand,System.Boolean,System.Int32,System.Boolean)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleDependency" /> class, binds an <see cref="T:Devart.Data.Oracle.OracleCommand" /> object, and adjusts some parameters. </summary>
      <remarks><para>
The <see cref="T:Devart.Data.Oracle.OracleDependency" /> registers the notification for the attached <see cref="T:Devart.Data.Oracle.OracleCommand" /> object when either of its <i>Execute</i> methods is invoked.
</para> </remarks>
      <seealso cref="T:Devart.Data.Oracle.OracleNotificationRequest" />
      <param name="cmd">An <see cref="T:Devart.Data.Oracle.OracleCommand" /> object to bind. </param>
      <param name="isNotifiedOnce"><see langword="true" />, if the registration is to be removed upon notification; otherwise, <see langword="false" />. </param>
      <param name="timeout">Specifies the time in seconds that the registration remains alive. </param>
      <param name="isPersistent"><see langword="true" />, if invalidation message should be
queued persistently in the database before delivery; otherwise, <see langword="false" />. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDependency.AddCommandDependency(Devart.Data.Oracle.OracleCommand)">
      <summary>Adds new <see cref="T:Devart.Data.Oracle.OracleCommand" /> object to the current <see cref="T:Devart.Data.Oracle.OracleDependency" /> instance. </summary>
      <remarks><para>
The <see cref="M:Devart.Data.Oracle.OracleDependency.AddCommandDependency(Devart.Data.Oracle.OracleCommand)" /> method creates a new <see cref="T:Devart.Data.Oracle.OracleNotificationRequest" /> object and assigns it to the <see cref="P:Devart.Data.Oracle.OracleCommand.Notification" /> property. The values of <see cref="P:Devart.Data.Oracle.OracleNotificationRequest.IsNotifiedOnce" />, <see cref="P:Devart.Data.Oracle.OracleNotificationRequest.IsPersistent" />, and <see cref="P:Devart.Data.Oracle.OracleNotificationRequest.Timeout" /> properties of <see cref="T:Devart.Data.Oracle.OracleNotificationRequest" /> are inherited from <see cref="T:Devart.Data.Oracle.OracleDependency" />, either default or specified in the constructor.
</para>
<para>
Many <see cref="T:Devart.Data.Oracle.OracleCommand" /> objects can be attached to single <see cref="T:Devart.Data.Oracle.OracleDependency" /> object, but same <see cref="T:Devart.Data.Oracle.OracleCommand" /> object cannot be used with several <see cref="T:Devart.Data.Oracle.OracleDependency" /> objects.
</para>
<para>
You can also bind an <see cref="T:Devart.Data.Oracle.OracleCommand" /> object using some of the OracleDependency constructors.
</para> </remarks>
      <keywords>OracleDependency.AddCommandDependency method </keywords>
      <param name="cmd">A <see cref="T:Devart.Data.Oracle.OracleCommand" /> object to add. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleDependency.Dispose()">
      <summary>Releases all resources allocated by this object. </summary>
      <keywords>OracleDependency.Dispose method </keywords>
    </member>
    <member name="P:Devart.Data.Oracle.OracleDependency.Enabled">
      <summary>Specifies whether the application listens for database notifications. </summary>
      <keywords>OracleDependency.Enabled property </keywords>
      <value><see langword="true" />, if listening to notifications is on. Otherwise, <see langword="false" />. </value>
    </member>
    <member name="E:Devart.Data.Oracle.OracleDependency.OnChange">
      <summary>Occurs when a database notification associated with the <see cref="T:Devart.Data.Oracle.OracleDependency" /> is received from the database. </summary>
      <remarks>The information related to the notification
is stored in the <see cref="T:Devart.Data.Oracle.OracleNotificationEventArgs" /> class.
The <see cref="E:Devart.Data.Oracle.OracleDependency.OnChange" /> event occurs if any result set associated with the dependency changes.
This event also occurs for other actions related to database or
registration status, such as database shutdowns and startups, or registration timeouts. </remarks>
      <seealso cref="T:Devart.Data.Oracle.OracleNotificationEventArgs" />
      <keywords>OracleDependency.OnChange event </keywords>
    </member>
    <member name="P:Devart.Data.Oracle.OracleDependency.Port">
      <summary>Gets or sets the port number that the notification listener listens on. </summary>
      <keywords>OracleDependency.Port property </keywords>
      <value>The port number to listen on. If the port number is set to 0, a random port number is assigned for the
listener when the listener is started. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleDependency.QueryBasedNotification">
      <summary>Specifies whether the change notification registration is object-based or query-based. By default, <see langword="true" />. </summary>
      <keywords>OracleDependency.QueryBasedNotification property </keywords>
      <value>If set to <see langword="true" />, the change notification registration is query-based; otherwise it is object-based. </value>
    </member>
    <member name="T:Devart.Data.Oracle.OracleError">
      <summary>Represents an Oracle error returned by the server. </summary>
      <remarks>Use this class in conjunction with <see cref="T:Devart.Data.Oracle.OracleErrorCollection" /> and <see cref="T:Devart.Data.Oracle.OracleException" /> to obtain an Oracle error information. This class is often used when the user executes DML array binding operations to obtain multiply error information. </remarks>
      <example>In the following sample, we try to insert to the Dept table several rows with the same primary key. Provided that the table is empty, there should be an ORA-24381 error (errors in DML array) and three ORA-00001 errors (unique constraint violation) in <see cref="T:Devart.Data.Oracle.OracleErrorCollection" /> of the exception thrown. <code lang="csharp">      // Open a connection and configure a command inserting rows to the Dept table.
      OracleConnection conn = new OracleConnection("User Id=Scott;Password=tiger;Data Source=Ora1110");
      conn.Open();

      OracleCommand cmd = new OracleCommand("INSERT INTO dept VALUES(:deptno_p, :dname_p, :loc_p)", conn);

      cmd.Parameters.Add("deptno_p", OracleDbType.Integer);
      cmd.Parameters.Add("dname_p", OracleDbType.VarChar);
      cmd.Parameters.Add("loc_p", OracleDbType.VarChar);

      // Populate the parameter collection with arrays. 
      // Notice that the deptno_p parameter array consists of identical numbers.
      cmd.Parameters["deptno_p"].Value = new int[] { 10, 10, 10, 10 };
      cmd.Parameters["dname_p"].Value = new string[] { 
         "ACCOUNTING", "RESEARCH", "SALES", "OPERATIONS" };
      cmd.Parameters["loc_p"].Value = new string[] { 
         "NEW YORK", "DALLAS", "CHICAGO", "BOSTON" };

      try {
        cmd.ExecuteArray(4);
      }
      // An exception will be thrown as the unique constraint is violated.
      catch (OracleException ex) {
        OracleErrorCollection errorCollection = ex.Errors;
        foreach (Devart.Data.Oracle.OracleError error in errorCollection) {
          // Ignore the first non-informative exception ('errors in DML array')
          if (error.Code != 24381)
            Console.WriteLine(error.Message);
        }
      }

      Console.Read(); </code><code lang="vb">        ' Open a connection and configure a command inserting rows to the Dept table.
        Dim conn = New OracleConnection("User Id=Scott;Password=tiger;Data Source=Ora1110")
        conn.Open()

        Dim cmd = New OracleCommand("INSERT INTO dept VALUES(:deptno_p, :dname_p, :loc_p)", conn)

        cmd.Parameters.Add("deptno_p", OracleDbType.Integer)
        cmd.Parameters.Add("dname_p", OracleDbType.VarChar)
        cmd.Parameters.Add("loc_p", OracleDbType.VarChar)

        ' Populate the parameter collection with arrays. 
        ' Notice that the deptno_p parameter array consists of identical numbers.
        cmd.Parameters("deptno_p").Value = New Integer() {10, 10, 10, 10}
        cmd.Parameters("dname_p").Value = New String() {"ACCOUNTING", "RESEARCH", "SALES", "OPERATIONS"}
        cmd.Parameters("loc_p").Value = New String() {"NEW YORK", "DALLAS", "CHICAGO", "BOSTON"}

        Try
            cmd.ExecuteArray(4)
            ' An exception will be thrown as the unique constraint is violated.
        Catch ex As OracleException
            Dim ErrorCollection As OracleErrorCollection = ex.Errors
            For Each OraError As Devart.Data.Oracle.OracleError In ErrorCollection
                ' Ignore the first non-informative exception ('errors in DML array')
                If OraError.Code &lt;&gt; 24381 Then _
                    Console.WriteLine(OraError.Message)
            Next
        End Try

        Console.Read() </code></example>
      <seealso cref="T:Devart.Data.Oracle.OracleErrorCollection" />
      <seealso cref="T:Devart.Data.Oracle.OracleException" />
    </member>
    <member name="P:Devart.Data.Oracle.OracleError.ArrayBindIndex">
      <summary>Represents row offset within DML array binding operation that generates the error. </summary>
      <keywords>OracleError.ArrayBindIndex property </keywords>
      <value>Returns one-based row index that generates the error. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleError.Code">
      <summary>Gets a code that identifies the type of the error. </summary>
      <keywords>OracleError.Code property </keywords>
      <value>A code that identifies the type of the error. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleError.LineNumber">
      <summary>Gets number of line where source of the error is located. </summary>
      <keywords>OracleError.LineNumber property </keywords>
      <value>Number of line with error. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleError.LinePosition">
      <summary>Gets number of column in a line where source of the error is located. </summary>
      <keywords>OracleError.LinePosition property </keywords>
      <value>Column number. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleError.Message">
      <summary>Gets a message that describes the current exception. </summary>
      <keywords>OracleError.Message property </keywords>
      <value>The error message that explains the reason for the exception, or an empty string (""). </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleError.ObjectName">
      <summary>Gets the name of the object. </summary>
      <keywords>OracleError.ObjectName property </keywords>
      <value>The name of the object. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleError.ObjectOwner">
      <summary>Gets the owner of the object. </summary>
      <keywords>OracleError.ObjectOwner property </keywords>
      <value>The owner of the object. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleError.ObjectType">
      <summary>Gets the type of the object. </summary>
      <keywords>OracleError.ObjectType property </keywords>
      <value>One of the <see cref="T:Devart.Data.Oracle.OracleObjectType" /> values. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleError.ToString()">
      <summary>Creates and returns a string representation of the current exception. </summary>
      <keywords>OracleError.ToString method </keywords>
      <returns>A string representation of the current exception. </returns>
    </member>
    <member name="T:Devart.Data.Oracle.OracleErrorCollection">
      <summary>Collects errors of an exception generated by dotConnect for Oracle. This class cannot be inherited. </summary>
      <remarks>This class is created by <see cref="T:Devart.Data.Oracle.OracleException" /> to collect instances of the <see cref="T:Devart.Data.Oracle.OracleError" /> class. <see cref="T:Devart.Data.Oracle.OracleErrorCollection" /> always contains at least one instance of the <see cref="T:Devart.Data.Oracle.OracleError" /> class. This class is often used when a user executes DML array binding operations to obtain detailed information in case of multiple errors. </remarks>
      <example>In the following sample, we try to insert to the Dept table several rows with the same primary key. Provided that the table is empty, there should be an ORA-24381 error (errors in DML array) and three ORA-00001 errors (unique constraint violation) in <see cref="T:Devart.Data.Oracle.OracleErrorCollection" /> of the exception thrown. <code lang="csharp">      // Open a connection and configure a command inserting rows to the Dept table.
      OracleConnection conn = new OracleConnection("User Id=Scott;Password=tiger;Data Source=Ora1110");
      conn.Open();

      OracleCommand cmd = new OracleCommand("INSERT INTO dept VALUES(:deptno_p, :dname_p, :loc_p)", conn);

      cmd.Parameters.Add("deptno_p", OracleDbType.Integer);
      cmd.Parameters.Add("dname_p", OracleDbType.VarChar);
      cmd.Parameters.Add("loc_p", OracleDbType.VarChar);

      // Populate the parameter collection with arrays. 
      // Notice that the deptno_p parameter array consists of identical numbers.
      cmd.Parameters["deptno_p"].Value = new int[] { 10, 10, 10, 10 };
      cmd.Parameters["dname_p"].Value = new string[] { 
         "ACCOUNTING", "RESEARCH", "SALES", "OPERATIONS" };
      cmd.Parameters["loc_p"].Value = new string[] { 
         "NEW YORK", "DALLAS", "CHICAGO", "BOSTON" };

      try {
        cmd.ExecuteArray(4);
      }
      // An exception will be thrown as the unique constraint is violated.
      catch (OracleException ex) {
        OracleErrorCollection errorCollection = ex.Errors;
        foreach (Devart.Data.Oracle.OracleError error in errorCollection) {
          // Ignore the first non-informative exception ('errors in DML array')
          if (error.Code != 24381)
            Console.WriteLine(error.Message);
        }
      }

      Console.Read(); </code><code lang="vb">        ' Open a connection and configure a command inserting rows to the Dept table.
        Dim conn = New OracleConnection("User Id=Scott;Password=tiger;Data Source=Ora1110")
        conn.Open()

        Dim cmd = New OracleCommand("INSERT INTO dept VALUES(:deptno_p, :dname_p, :loc_p)", conn)

        cmd.Parameters.Add("deptno_p", OracleDbType.Integer)
        cmd.Parameters.Add("dname_p", OracleDbType.VarChar)
        cmd.Parameters.Add("loc_p", OracleDbType.VarChar)

        ' Populate the parameter collection with arrays. 
        ' Notice that the deptno_p parameter array consists of identical numbers.
        cmd.Parameters("deptno_p").Value = New Integer() {10, 10, 10, 10}
        cmd.Parameters("dname_p").Value = New String() {"ACCOUNTING", "RESEARCH", "SALES", "OPERATIONS"}
        cmd.Parameters("loc_p").Value = New String() {"NEW YORK", "DALLAS", "CHICAGO", "BOSTON"}

        Try
            cmd.ExecuteArray(4)
            ' An exception will be thrown as the unique constraint is violated.
        Catch ex As OracleException
            Dim ErrorCollection As OracleErrorCollection = ex.Errors
            For Each OraError As Devart.Data.Oracle.OracleError In ErrorCollection
                ' Ignore the first non-informative exception ('errors in DML array')
                If OraError.Code &lt;&gt; 24381 Then _
                    Console.WriteLine(OraError.Message)
            Next
        End Try

        Console.Read() </code></example>
      <seealso cref="T:Devart.Data.Oracle.OracleError" />
      <seealso cref="T:Devart.Data.Oracle.OracleException" />
    </member>
    <member name="M:Devart.Data.Oracle.OracleErrorCollection.CopyTo(System.Array,System.Int32)">
      <summary>Copies the elements of the <see cref="T:Devart.Data.Oracle.OracleErrorCollection" /> collection into an <see cref="T:System.Array" /> starting at the specified index within the array. </summary>
      <keywords>OracleErrorCollection.CopyTo method </keywords>
      <param name="array">The <see cref="T:System.Array" /> to copy elements into. </param>
      <param name="index">The index from which to start copying into the <paramref name="array" /> parameter. </param>
    </member>
    <member name="P:Devart.Data.Oracle.OracleErrorCollection.Count">
      <summary>Gets the number of errors in the collection. </summary>
      <keywords>OracleErrorCollection.Count property </keywords>
      <value>The total number of errors in the collection. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleErrorCollection.GetEnumerator()">
      <summary>This member supports the .NET Framework infrastructure and is not intended to be used directly from your code. </summary>
      <keywords>OracleErrorCollection.GetEnumerator method </keywords>
    </member>
    <member name="P:Devart.Data.Oracle.OracleErrorCollection.Item(System.Int32)">
      <summary>Gets the error at the specified index.
In C#, this property is the indexer for the <see cref="T:Devart.Data.Oracle.OracleErrorCollection" /> class. </summary>
      <keywords>OracleErrorCollection.Item property </keywords>
      <param name="index">The zero-based index of the error to retrieve. </param>
      <value>An <see cref="T:Devart.Data.Oracle.OracleError" /> that contains the error at the specified index. </value>
    </member>
    <member name="T:Devart.Data.Oracle.OracleException">
      <summary>The exception that is generated when Oracle returns an error. </summary>
      <remarks>This class is created whenever dotConnect for Oracle encounters an error generated by the server, or <see cref="T:Devart.Data.Oracle.OracleConnection" /> has been closed before attempting to execute an operation on the server. </remarks>
      <example>The following example generates a <see cref="T:Devart.Data.Oracle.OracleException" /> due to a missing database, and then displays the exception. <code lang="csharp">public void ThrowOracleException()
{
  string mySelectQuery = "SELECT * FROM Test.Dept";
  OracleConnection myConnection =
    new OracleConnection(
        "User Id=Scott;Password=tiger;Data Source=Ora");
  OracleCommand myCommand = new OracleCommand(mySelectQuery,myConnection);
  try
  {
    myCommand.Connection.Open();
  }
  catch (OracleException myException)
  {
    MessageBox.Show("Message: " + myException.Message + "\n");
  }
} </code><code lang="vb">Public Sub ThrowOracleException()
  Dim mySelectQuery As String = "SELECT * FROM Test.Dept"
  Dim myConnection As New OracleConnection( _
    "User Id=Scott;Password=tiger;Data Source=Ora")
  Dim myCommand As New OracleCommand(mySelectQuery, myConnection)
  Try
    myCommand.Connection.Open()
  Catch myException As OracleException
    MessageBox.Show("Message: " + myException.Message + ControlChars.Cr)
  End Try
End Sub </code></example>
      <seealso cref="T:Devart.Data.Oracle.OracleConnection" />
      <seealso cref="T:Devart.Data.Oracle.OracleCommand" />
    </member>
    <member name="P:Devart.Data.Oracle.OracleException.Code">
      <summary>Gets a code that identifies the type of error. </summary>
      <keywords>OracleException.Code property </keywords>
      <value>A code that identifies the type of error. For example, for ORA-12345 error it returns 12345. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleException.Errors">
      <summary>This property specifies a collection of one or more <see cref="T:Devart.Data.Oracle.OracleError" /> objects that contain information about exceptions generated by the Oracle database. </summary>
      <remarks>The <see cref="P:Devart.Data.Oracle.OracleException.Errors" /> property contains at least one instance of <see cref="T:Devart.Data.Oracle.OracleError" /> objects. </remarks>
      <seealso cref="T:Devart.Data.Oracle.OracleError" />
      <seealso cref="T:Devart.Data.Oracle.OracleErrorCollection" />
      <keywords>OracleException.Errors property </keywords>
      <value>An <see cref="T:Devart.Data.Oracle.OracleErrorCollection" />. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
      <summary>Populates a <b>SerializationInfo</b> with the data needed to serialize the target object. </summary>
      <keywords>OracleException.GetObjectData method </keywords>
      <param name="info">A <see cref="T:System.Runtime.Serialization.SerializationInfo" /> object to populate. </param>
      <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext" /> that contains contextual information about the source or destination. </param>
    </member>
    <member name="P:Devart.Data.Oracle.OracleException.Offset">
      <summary>Gets a position of the incorrect symbol at the SQL statement. </summary>
      <keywords>OracleException.Offset property </keywords>
      <value>A position of the incorrect symbol at the SQL statement. </value>
    </member>
    <member name="T:Devart.Data.Oracle.OracleFailoverEventHandler">
      <summary>Represents the method that will handle the <see cref="E:Devart.Data.Oracle.OracleConnection.Failover" /> event of an <see cref="T:Devart.Data.Oracle.OracleConnection" />. </summary>
      <remarks>When you create an<see cref="T:Devart.Data.Oracle.OracleFailoverEventHandler" /> delegate, you identify the method that will handle the event. To associate the event with your event handler, add an instance of the delegate to the event. The event handler is called whenever the event occurs, unless you remove the delegate. For more information about event handler delegates, see "Events and Delegates" in the .NET Framework SDK documentation. </remarks>
      <keywords>OracleFailoverEventHandler delegate </keywords>
      <param name="sender">The source of the event. </param>
      <param name="e">An <see cref="T:Devart.Data.Oracle.OracleFailoverEventsArgs" /> object that contains the event data. </param>
    </member>
    <member name="T:Devart.Data.Oracle.OracleFailoverEventsArgs">
      <summary>Provides data for the <see cref="E:Devart.Data.Oracle.OracleConnection.Failover" /> event of the <see cref="T:Devart.Data.Oracle.OracleConnection" /> class. </summary>
    </member>
    <member name="P:Devart.Data.Oracle.OracleFailoverEventsArgs.Retry">
      <summary>Gives the ability to retry connection to another Oracle server in case if previous reconnection failed. </summary>
      <remarks>Using this property you may control reconnection attempts while connection to another Oracle instance will be successful. </remarks>
      <keywords>OracleFailoverEventsArgs.Retry property </keywords>
      <value><see langword="true" /> if one more attempt to reconnect can be made; otherwise, <see langword="false" />. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleFailoverEventsArgs.State">
      <summary>Represents Transparent Application Failover stage. </summary>
      <remarks>Look at <see cref="T:Devart.Data.Oracle.OracleFailoverState" /> members for stage description. </remarks>
      <seealso cref="T:Devart.Data.Oracle.OracleFailoverState" />
      <keywords>OracleFailoverEventsArgs.State property </keywords>
      <value>An <see cref="T:Devart.Data.Oracle.OracleFailoverState" />. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleFailoverEventsArgs.Type">
      <summary>Specifies the type of failover. </summary>
      <remarks>Look at <see cref="T:Devart.Data.Oracle.OracleFailoverType" /> mebers for failover types description. </remarks>
      <seealso cref="T:Devart.Data.Oracle.OracleFailoverType" />
      <keywords>OracleFailoverEventsArgs.Type property </keywords>
      <value>An <see cref="T:Devart.Data.Oracle.OracleFailoverType" />. </value>
    </member>
    <member name="T:Devart.Data.Oracle.OracleFailoverState">
      <summary>Represents <a href="Failover.html">Transparent Application Failover</a> state. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleFailoverState.Abort">
      <summary>Indicates that failover was unsuccessful and there is no option to retry. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleFailoverState.Begin">
      <summary>Indicates that failover has detected a lost connection and failover is starting. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleFailoverState.End">
      <summary>Indicates successful completion of failover. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleFailoverState.Error">
      <summary>Indicates that an error occurred while trying to re-establish a connection. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleFailoverState.Reauth">
      <summary>Indicates that an user handle has been re-authenticated. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleFailoverState.Unknown">
      <summary>Unknown stage is detected. This may indicate application failover internal error. </summary>
    </member>
    <member name="T:Devart.Data.Oracle.OracleFailoverType">
      <summary>Represents <a href="Failover.html">Transparent Application Failover</a> type. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleFailoverType.None">
      <summary>Indicates that the user not requested any failover type. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleFailoverType.Select">
      <summary>Indicates that the user requested select failover. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleFailoverType.Session">
      <summary>Indicates that the user requested only session failover. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleFailoverType.Transaction">
      <summary>Indicates that the user requested transaction failover. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleFailoverType.Unknown">
      <summary>Unknown type is detected. This may indicate application failover internal error. </summary>
    </member>
    <member name="T:Devart.Data.Oracle.OracleGlobalization">
      <summary>Manages the Oracle globalization settings of the application, and local computer. Oracle globalization settings of the local computer are read-only. </summary>
      <example>The following example changes the date format of application. <code lang="csharp">public void ChangeDateFormat(){
	// Get application's globalization info
	OracleGlobalization glob = OracleGlobalization.GetApplicationInfo();

	// Prints "glob.DateFormat = DD.MM.YYYY"
	Console.WriteLine("glob.DateFormat = " + glob.DateFormat);

	// Set date format on application's globalization info
	glob.DateFormat = "MM.DD.YYYY";
	OracleGlobalization.SetApplicationInfo(glob);
	OracleGlobalization.GetApplicationInfo(glob);

	// Prints "glob.DateFormat = MM.DD.YYYY"
	Console.WriteLine("glob.DateFormat = " + glob.DateFormat);
} </code><code lang="vb">Public Sub ChangeDateFormat()
	' Get application's globalization info
	Dim glob As OracleGlobalization = OracleGlobalization.GetApplicationInfo()

	' Prints "glob.DateFormat = DD.MM.YYYY"
	Console.WriteLine("glob.DateFormat = " + glob.DateFormat)

	' Set date format on application's globalization info
	glob.DateFormat = "MM.DD.YYYY"
	OracleGlobalization.SetApplicationInfo(glob)
	OracleGlobalization.GetApplicationInfo(glob)

	' Prints "glob.DateFormat = MM.DD.YYYY"
	Console.WriteLine("glob.DateFormat = " + glob.DateFormat)
End Sub 'ChangeDateFormat </code></example>
    </member>
    <member name="P:Devart.Data.Oracle.OracleGlobalization.ClientCharacterSet">
      <summary>Gets or sets a client character set. </summary>
      <keywords>OracleGlobalization.ClientCharacterSet property </keywords>
      <value>A string that provides the name of the local computer character set. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleGlobalization.Clone()">
      <summary>Creates a copy of an <see cref="T:Devart.Data.Oracle.OracleGlobalization" /> object. </summary>
      <remarks>The cloned object has the same property values as that of the object being cloned. </remarks>
      <keywords>OracleGlobalization.Clone method </keywords>
      <returns>An <see cref="T:Devart.Data.Oracle.OracleGlobalization" /> object </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleGlobalization.Currency">
      <summary>Specifies the string to use as a local currency symbol for the L number format element. </summary>
      <remarks>The default value is the NLS_CURRENCY setting of the local computer. See Oracle SQL reference for more information about number format elements. </remarks>
      <keywords>OracleGlobalization.Currency property </keywords>
      <value>The string to use as a local currency symbol. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleGlobalization.DateFormat">
      <summary>Specifies the date format for Oracle DATE type as a string. </summary>
      <remarks>The default value is the NLS_DATE_FORMAT setting of the local computer. </remarks>
      <keywords>OracleGlobalization.DateFormat property </keywords>
      <value>The date format for Oracle DATE type as a string. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleGlobalization.DateLanguage">
      <summary>Specifies the language used to spell names of days and months, and date abbreviations. </summary>
      <remarks>The default value is the NLS_DATE_LANGUAGE setting of the local computer. </remarks>
      <keywords>OracleGlobalization.DateLanguage property </keywords>
      <value>A string specifying the language. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleGlobalization.DualCurrency">
      <summary>Specifies the dual currency symbol for the U number format element. </summary>
      <remarks>The default value is the NLS_DUAL_CURRENCY setting of the local computer. See Oracle SQL reference for more information about number format elements. </remarks>
      <keywords>OracleGlobalization.DualCurrency property </keywords>
      <value>A string that provides the dual currency symbol. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleGlobalization.GetApplicationInfo()">
      <summary>Returns an <see cref="T:Devart.Data.Oracle.OracleGlobalization" /> instance with Oracle globalization settings of the application. </summary>
      <keywords>OracleGlobalization.GetApplicationInfo method </keywords>
      <returns>An <see cref="T:Devart.Data.Oracle.OracleGlobalization" /> instance. </returns>
      <overloads>Populates an <see cref="T:Devart.Data.Oracle.OracleGlobalization" /> instance with Oracle globalization settings of the application. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleGlobalization.GetApplicationInfo(Devart.Data.Oracle.OracleGlobalization)">
      <summary>Populates an <see cref="T:Devart.Data.Oracle.OracleGlobalization" /> instance with Oracle globalization settings of the application. </summary>
      <keywords>OracleGlobalization.GetApplicationInfo method </keywords>
      <param name="oraGlob">An <see cref="T:Devart.Data.Oracle.OracleGlobalization" /> instance. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleGlobalization.GetSystemInfo()">
      <summary>Returns an <see cref="T:Devart.Data.Oracle.OracleGlobalization" /> instance with Oracle globalization settings of the operating system. </summary>
      <keywords>OracleGlobalization.GetSystemInfo method </keywords>
      <returns>An <see cref="T:Devart.Data.Oracle.OracleGlobalization" /> instance. </returns>
      <overloads>Populates an <see cref="T:Devart.Data.Oracle.OracleGlobalization" /> instance with Oracle globalization settings of the operating system. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleGlobalization.GetSystemInfo(Devart.Data.Oracle.OracleGlobalization)">
      <summary>Populates an <see cref="T:Devart.Data.Oracle.OracleGlobalization" /> instance with Oracle globalization settings of the operating system. </summary>
      <keywords>OracleGlobalization.GetSystemInfo method </keywords>
      <param name="oraGlob">An <see cref="T:Devart.Data.Oracle.OracleGlobalization" /> instance. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleGlobalization.GetSystemInfo(Devart.Data.Oracle.OracleGlobalization,System.Globalization.CultureInfo)">
      <summary>Populates an <see cref="T:Devart.Data.Oracle.OracleGlobalization" /> instance with Oracle globalization settings of the operating system. </summary>
      <keywords>OracleGlobalization.GetSystemInfo method </keywords>
      <param name="oraGlob">An <see cref="T:Devart.Data.Oracle.OracleGlobalization" /> instance. </param>
      <param name="culture">A <b>CultureInfo</b> instance. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleGlobalization.GetSystemInfo(System.Globalization.CultureInfo)">
      <summary>Returns an <see cref="T:Devart.Data.Oracle.OracleGlobalization" /> instance with Oracle globalization settings of the operating system. </summary>
      <keywords>OracleGlobalization.GetSystemInfo method </keywords>
      <param name="culture">A <b>CultureInfo</b> instance. </param>
      <returns>An <see cref="T:Devart.Data.Oracle.OracleGlobalization" /> instance. </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleGlobalization.ISOCurrency">
      <summary>Specifies the string to use as an international currency symbol for the C number format element. </summary>
      <remarks>The default value is the NLS_ISO_CURRENCY setting of the local computer. See Oracle SQL reference for more information about number format elements. </remarks>
      <keywords>OracleGlobalization.ISOCurrency property </keywords>
      <value>The string used as an international currency symbol. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleGlobalization.Language">
      <summary>Specifies the default language of the database. </summary>
      <remarks><see cref="P:Devart.Data.Oracle.OracleGlobalization.Language" /> is used for messages, day and month names, and sorting algorithms. It also determines NLS_DATE_LANGUAGE and NLS_SORT parameter values. The default value is the NLS_LANGUAGE setting of the local computer. </remarks>
      <keywords>OracleGlobalization.Language property </keywords>
      <value>The default language of the database. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleGlobalization.NCharConversionException">
      <summary>Determines whether or not data loss during an implicit or explicit character type conversion reports an error. </summary>
      <keywords>OracleGlobalization.NCharConversionException property </keywords>
      <value>If <see langword="true" />, an exception is fired when a conversion causes a data loss. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleGlobalization.NumericCharacters">
      <summary>Specifies the characters used for the decimal character and the group separator character for numeric values in strings. </summary>
      <remarks>The default value is the NLS_NUMERIC_CHARACTERS setting of the local computer. </remarks>
      <keywords>OracleGlobalization.NumericCharacters property </keywords>
      <value>A string that represents the characters used. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleGlobalization.SetApplicationInfo(Devart.Data.Oracle.OracleGlobalization)">
      <summary>Sets Oracle globalization parameters to the current application. </summary>
      <keywords>OracleGlobalization.SetApplicationInfo method </keywords>
      <param name="oraGlob">An <see cref="T:Devart.Data.Oracle.OracleGlobalization" /> instance. </param>
    </member>
    <member name="P:Devart.Data.Oracle.OracleGlobalization.Territory">
      <summary>Specifies the name of the territory. </summary>
      <remarks>The default value is the NLS_TERRITORY setting of the local computer. Changing this property changes other globalization properties. </remarks>
      <keywords>OracleGlobalization.Territory property </keywords>
      <value>A string that provides the name of the territory. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleGlobalization.TimeStampFormat">
      <summary>Specifies the string format for TimeStamp types. </summary>
      <remarks>The default value is the NLS_TIMESTAMP_FORMAT setting of the local computer. </remarks>
      <keywords>OracleGlobalization.TimeStampFormat property </keywords>
      <value>The string format for TimeStamp types. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleGlobalization.TimeStampTZFormat">
      <summary>Specifies the string format for TimeStampTZ types. </summary>
      <remarks>The default value is the NLS_TIMESTAMP_TZ_FORMAT setting of the local computer. </remarks>
      <keywords>OracleGlobalization.TimeStampTZFormat property </keywords>
      <value>The string format for TimeStampTZ types. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleGlobalization.TimeZone">
      <summary>Specifies the time zone region name or hour offset. </summary>
      <remarks>The default value is the time zone region name of the local computer. </remarks>
      <keywords>OracleGlobalization.TimeZone property </keywords>
      <value>The string represents the time zone region name or the time zone offset. </value>
    </member>
    <member name="T:Devart.Data.Oracle.OracleHome">
      <summary>Represents an Oracle home. </summary>
      <remarks><para>Use the OracleHome properties to retrieve name, version, physical path and language settings (the NLS_LANG variable) for the specifed Oracle home. Use the <see cref="M:Devart.Data.Oracle.OracleHome.GetClientInfo" /> method to get the Oracle globalization settings of current Oracle home, such as date format, time zone, currency and language. Use the <see cref="M:Devart.Data.Oracle.OracleHome.GetServerList" /> method to see the list of Oracle servers (TNS names) available for the current Oracle home.</para>
<para>OracleHome has no public constructors, it can only be retrieved from the <see cref="T:Devart.Data.Oracle.OracleHomeCollection" />. The complete collection of all available Oracle homes can be get from the static interface of the <see cref="T:Devart.Data.Oracle.OracleConnection" /> class. See <see cref="T:Devart.Data.Oracle.OracleHomeCollection" /> and the <see cref="P:Devart.Data.Oracle.OracleConnection.Homes" /> property of the <see cref="T:Devart.Data.Oracle.OracleConnection" /> class.</para>
 </remarks>
      <example>In this example we retrieve the globalization settings of the "OraClient" Oracle home; after that, we try to connect as Scott to all servers described in the tnsnames.ora file of OraClient. <code lang="csharp">            // Get the OracleHome instance corresponding to the "OraClient" Oracle home.
OracleHome home = OracleConnection.Homes["OraClient"];
            
            // Print some globalization settings of the current home.
OracleGlobalization glob = home.GetClientInfo();
Console.WriteLine("The Oracle home is registered for: " + glob.Territory);
Console.WriteLine("Character set is " + glob.ClientCharacterSet);
Console.WriteLine("Time zone is " + glob.TimeZone);
Console.WriteLine("Date format is " + glob.DateFormat);

            // Create a connection.
OracleConnection conn = new OracleConnection();
conn.UserId = "Scott";
conn.Password = "tiger";
            
            // Try to connect to each server available for the current Oracle home.
            Console.WriteLine("\nTrying to connect as Scott/tiger:\n");
string[] servers = home.GetServerList();
            foreach (string serverName in servers)
            {                
                conn.Server = serverName;
                try
                {
                    conn.Open();
                    Console.WriteLine("Successfully connected to " + serverName);
                }
                catch(Exception ex)
                {
                    Console.WriteLine("Failed connecting to " + serverName + ": " + ex.Message);
                }
                finally
                {
                    conn.Close();
                }
            }

            Console.ReadLine(); </code><code lang="vb">' Get the OracleHome instance corresponding to the "OraClient" Oracle home.
Dim home As OracleHome = OracleConnection.Homes.Item("OraClient")

' Print some globalization settings of the current home.
Dim glob As OracleGlobalization = home.GetClientInfo()
Console.WriteLine("The Oracle home is registered for: " + glob.Territory)
Console.WriteLine("Character set is " + glob.ClientCharacterSet)
Console.WriteLine("Time zone is " + glob.TimeZone)
Console.WriteLine("Date format is " + glob.DateFormat)

' Create a connection.
Dim conn As OracleConnection = New OracleConnection()
conn.UserId = "Scott"
conn.Password = "tiger"

' Try to connect to each server available for the current Oracle home.
Console.WriteLine(vbCrLf + "Trying to connect as Scott/tiger:" + vbCrLf)
Dim servers As Array = home.GetServerList()
For Each serverName In servers
conn.Server = serverName
    Try
conn.Open()
Console.WriteLine("Successfully connected to " + serverName)
Catch ex As Exception
Console.WriteLine("Failed connecting to " + serverName + ": " + ex.Message)
    Finally
conn.Close()
    End Try
Next

Console.ReadLine() </code></example>
    </member>
    <member name="P:Devart.Data.Oracle.OracleHome.ClientVersion">
      <summary>Gets version of Oracle client. </summary>
      <keywords>OracleHome.ClientVersion property </keywords>
      <value>Version of Oracle client. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleHome.GetClientInfo()">
      <summary>Populates an <see cref="T:Devart.Data.Oracle.OracleGlobalization" /> object with client side information. </summary>
      <keywords>OracleHome.GetClientInfo method </keywords>
      <returns>A new <see cref="T:Devart.Data.Oracle.OracleGlobalization" /> object with the Oracle globalization settings. </returns>
      <overloads>Populates an <see cref="T:Devart.Data.Oracle.OracleGlobalization" /> object with client side information. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleHome.GetClientInfo(Devart.Data.Oracle.OracleGlobalization)">
      <summary>Populates an <see cref="T:Devart.Data.Oracle.OracleGlobalization" /> object with client side information. </summary>
      <keywords>OracleHome.GetClientInfo method </keywords>
      <param name="oraGlob">An <see cref="T:Devart.Data.Oracle.OracleGlobalization" /> object to be populated with the Oracle globalization settings. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleHome.GetServerList()">
      <summary>Returns an array of available TNS aliases. </summary>
      <remarks>Use <see cref="M:Devart.Data.Oracle.OracleHome.GetServerList()" /> function to read TNS aliases from TNSNAMES.ORA configuration file found in the home directory. </remarks>
      <keywords>OracleHome.GetServerList method </keywords>
      <returns>An array of available TNS aliases. </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleHome.Name">
      <summary>Gets the name of Oracle home. </summary>
      <keywords>OracleHome.Name property </keywords>
      <value>The name of Oracle home. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleHome.NlsLang">
      <summary>Gets NLS_LANG parameter of the specified Oracle home. </summary>
      <keywords>OracleHome.NlsLang property </keywords>
      <value>A value of NLS_LANG parameter. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleHome.Path">
      <summary>Gets a path where the specified Oracle instance is located. </summary>
      <keywords>OracleHome.Path property </keywords>
      <value>A path for the specified Oracle home. </value>
    </member>
    <member name="T:Devart.Data.Oracle.OracleHomeCollection">
      <summary>Represents a list of available Oracle homes. </summary>
      <remarks>You can use this collection to get information about the Oracle homes installed at your system. To see all available Oracle homes, use the <see cref="P:Devart.Data.Oracle.OracleConnection.Homes" /> property of the static interface of the <see cref="T:Devart.Data.Oracle.OracleConnection" /> class. Use the DefaultHome property to retrieve the <see cref="T:Devart.Data.Oracle.OracleHome" /> object representing the system's default Oracle home. Use the <see cref="P:Devart.Data.Oracle.OracleHomeCollection.Item(System.String)" /> property to get the information about the Oracle home with the specified name.
 </remarks>
      <example>In this sample we retrieve the Oracle home which is default in the system. After that, we iterate through all available homes trying to connect to the "OraServer" Oracle server as Scott. <code lang="csharp">            // Get the complete collection of Oracle homes available in this system.
OracleHomeCollection homes = OracleConnection.Homes;

            // Check the default Oracle home.
OracleHome defaultHome = homes.DefaultHome;
Console.WriteLine("The default Oracle home in this system is " + defaultHome.Name);

            // Create a connection.
OracleConnection conn = new OracleConnection();
conn.Server = "OraServer";
conn.UserId = "Scott";
conn.Password = "tiger";            

            // Try to connect to the "OraServer" Oracle server as Scott/tiger using each of Oracle homes available.
Console.WriteLine("\nTrying to connect to server \"OraServer\" as Scott/tiger:\n");            
foreach (OracleHome home in homes)
            {
                conn.Home = home.Name;
                try
                {
                    conn.Open();
                    Console.WriteLine("Successfully connected using " + home.Name);
                }
                catch (Exception ex)
                {
                    Console.WriteLine("Failed trying to connect via " + home.Name + ": " + ex.Message);
                }
                finally
                {
                    conn.Close();
                }
            }

Console.ReadLine(); </code><code lang="vb">' Get the complete collection of Oracle homes available in this system.
Dim homes As OracleHomeCollection = OracleConnection.Homes

' Check the default Oracle home.
Dim defaultHome As OracleHome = homes.DefaultHome
Console.WriteLine("The default Oracle home in this system is " + defaultHome.Name)

' Create a connection.
Dim conn As OracleConnection = New OracleConnection()
conn.Server = "OraServer"
conn.UserId = "Scott"
conn.Password = "tiger"

' Try to connect to the "OraServer" Oracle server as Scott/tiger using each of Oracle homes available.
Console.WriteLine(vbCrLf + "Trying to connect to server ""OraServer"" as Scott/tiger:" + vbCrLf)

For Each home In homes
conn.Home = home.Name
    Try
conn.Open()
Console.WriteLine("Successfully connected using " + home.Name)
Catch ex As Exception
Console.WriteLine("Failed trying to connect via " + home.Name + ": " + ex.Message)
    Finally
conn.Close()
    End Try
Next

Console.ReadLine() </code></example>
    </member>
    <member name="M:Devart.Data.Oracle.OracleHomeCollection.Contains(System.String)">
      <summary>Determines whether Oracle home with the specified name is present at the system. </summary>
      <keywords>OracleHomeCollection.Contains method </keywords>
      <param name="name">The name of Oracle home to search for. </param>
      <returns><see langword="true" /> if Oracle home with the specified name is found; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleHomeCollection.DefaultHome">
      <summary>Gets the default Oracle home information. </summary>
      <keywords>OracleHomeCollection.DefaultHome property </keywords>
      <value>Default Oracle home information. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleHomeCollection.Item(System.String)">
      <summary>Gets an information about Oracle home with the specified home name. </summary>
      <keywords>OracleHomeCollection.Item property </keywords>
      <param name="name">The name of Oracle home. </param>
      <value>Oracle home information. </value>
    </member>
    <member name="T:Devart.Data.Oracle.OracleInfoMessageEventArgs">
      <summary>Provides data for the <see cref="E:Devart.Data.Oracle.OracleConnection.InfoMessage" /> event. </summary>
      <remarks>The <see cref="E:Devart.Data.Oracle.OracleConnection.InfoMessage" /> event contains warning sent from the database. </remarks>
      <example>The following example demonstrates registering InfoMessage event handler that prints out the warning info. <code lang="csharp">class OracleInfoMessage {
	public static void WarningPrinter(object src, OracleInfoMessageEventArgs args)
	{
		Console.WriteLine("Source object is: " + src.GetType().Name);
		Console.WriteLine("InfoMessageArgs.Message is " + args.Message);
		Console.WriteLine("InfoMessageArgs.Source is " + args.Source);
	}
	static void Main()
	{
		OracleConnection con = new OracleConnection("User Id=scott;" +
			"Password=tiger;Data Source=ora1110;");

		con.Open();

		OracleCommand cmd = con.CreateCommand();

		// Register to the InfoMessageHandler
		cmd.Connection.InfoMessage +=
			new OracleInfoMessageEventHandler(WarningPrinter);

		cmd.CommandText = "CREATE OR REPLACE PACKAGE BODY PACKAGEWITHNOSPECIFICATION AS" +
			"PROCEDURE GET_ALL_DEPTS (cur OUT SYS_REFCURSOR) AS" +
			"BEGIN" +
			" OPEN cur FOR SELECT * FROM DEPT;" +
			"END;" +
			"END PACKAGEWITHNOSPECIFICATION;";

		// Execute the statement that produces a warning
		cmd.ExecuteNonQuery();

		// Clean up
		cmd.Dispose();
		con.Dispose();
	}
} </code><code lang="vb">Module Module1
	Public Sub WarningPrinter(ByVal src As Object, ByVal args As OracleInfoMessageEventArgs)
		Console.WriteLine("Source object is: " + src.GetType().Name)
		Console.WriteLine("InfoMessageArgs.Message is " + args.Message)
		Console.WriteLine("InfoMessageArgs.Source is " + args.Source)
	End Sub 'WarningPrinter
	Sub Main()
		Dim con As New OracleConnection("User Id=scott;Password=tiger;Data Source=ora1110;")
		con.Open()
		Dim cmd As OracleCommand = con.CreateCommand()
		' Register to the InfoMessageHandler
		AddHandler cmd.Connection.InfoMessage, _
		New OracleInfoMessageEventHandler(AddressOf WarningPrinter)
		'command.Connection.InfoMessage += New OracleInfoMessageEventHandler(WarningPrinter)
		cmd.CommandText = "CREATE OR REPLACE PACKAGE BODY PACKAGEWITHNOSPECIFICATION AS" &amp; _
		"PROCEDURE GET_ALL_DEPTS (cur OUT SYS_REFCURSOR) AS" &amp; _
		"BEGIN" &amp; _
		" OPEN cur FOR SELECT * FROM DEPT;" &amp; _
		"END;" &amp; _
		"END PACKAGEWITHNOSPECIFICATION;"
		' Execute the statement that produces a warning
		cmd.ExecuteNonQuery()

		' Clean up
		cmd.Dispose()
		con.Dispose()
	End Sub
End Module </code></example>
    </member>
    <member name="P:Devart.Data.Oracle.OracleInfoMessageEventArgs.Code">
      <summary>Gets the Oracle specific message code. </summary>
      <keywords>OracleInfoMessageEventArgs.Code property </keywords>
      <value>Oracle specific message code. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleInfoMessageEventArgs.Errors">
      <summary>Returns collection of errors generated by <see cref="T:Devart.Data.Oracle.OracleCommand" />. </summary>
      <remarks>You can query the Error objects in this collection for the error number and message text, as well as the source of the error. There are also details about the database, stored procedure, and line number that the message came from. </remarks>
      <keywords>OracleInfoMessageEventArgs.Errors property </keywords>
      <value>Collection of errors. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleInfoMessageEventArgs.Message">
      <summary>Gets the full text of the message sent from the Oracle database. </summary>
      <remarks>You can use this property to obtain the Oracle message. </remarks>
      <keywords>OracleInfoMessageEventArgs.Message property </keywords>
      <value>Message that Oracle returns. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleInfoMessageEventArgs.Source">
      <summary>Gets the name of the application or the object that threw the event. </summary>
      <keywords>OracleInfoMessageEventArgs.Source property </keywords>
      <value>The name of the application or the object that threw the event. </value>
    </member>
    <member name="T:Devart.Data.Oracle.OracleInfoMessageEventHandler">
      <summary>Represents the method that will handle the <see cref="E:Devart.Data.Oracle.OracleConnection.InfoMessage" /> event of an <see cref="T:Devart.Data.Oracle.OracleConnection" />. </summary>
      <remarks>When you create an <see cref="T:Devart.Data.Oracle.OracleInfoMessageEventHandler" /> delegate, you identify the method that will handle the event. To associate the event with your event handler, add an instance of the delegate to the event. The event handler is called whenever the event occurs, unless you remove the delegate. For more information about event handler delegates, see "Events and Delegates" in the .NET Framework SDK documentation. </remarks>
      <keywords>OracleInfoMessageEventHandler delegate </keywords>
      <param name="sender">The source of the event. </param>
      <param name="e">An <see cref="T:Devart.Data.Oracle.OracleInfoMessageEventArgs" /> object that contains the event data. </param>
    </member>
    <member name="T:Devart.Data.Oracle.OracleIntervalDS">
      <summary>Represents the Oracle INTERVAL DAY TO SECOND data type. Each object of the <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> class stores a period of time in term of days, hours, minutes, seconds, and fractional seconds. </summary>
      <remarks>To obtain an <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> object call the <see cref="M:Devart.Data.Oracle.OracleDataReader.GetOracleIntervalDS" /> method of the <see cref="T:Devart.Data.Oracle.OracleDataReader" /> class. </remarks>
    </member>
    <member name="M:Devart.Data.Oracle.OracleIntervalDS.#ctor(System.Double)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> structure with the specified total number of days. </summary>
      <param name="totalDays">The specified total number of days for a time interval. </param>
      <overloads>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> structure. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleIntervalDS.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Double)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> structure with the specified days, hours, minutes, seconds, and milliseconds. </summary>
      <param name="days">Number of days. </param>
      <param name="hours">Number of hours. </param>
      <param name="minutes">Number of minutes. </param>
      <param name="seconds">Number of seconds. </param>
      <param name="milliSeconds">Number of milliseconds. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleIntervalDS.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> structure with the specified days, hours, minutes, seconds, and nanoseconds. </summary>
      <param name="days">Number of days. </param>
      <param name="hours">Number of hours. </param>
      <param name="minutes">Number of minutes. </param>
      <param name="seconds">Number of seconds. </param>
      <param name="nanoSeconds">Number of nanoseconds. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleIntervalDS.#ctor(System.TimeSpan)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> structure with the specified <see cref="T:System.TimeSpan" />. </summary>
      <param name="ts">The specified <see cref="T:System.TimeSpan" />. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleIntervalDS.Add(Devart.Data.Oracle.OracleIntervalDS,Devart.Data.Oracle.OracleIntervalDS)">
      <summary>Adds two <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> values. </summary>
      <keywords>OracleIntervalDS.Add method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleIntervalDS" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleIntervalDS" />. </param>
      <returns>An <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> structure. </returns>
      <overloads>Adds two time intervals. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleIntervalDS.Add(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Boolean,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Boolean)">
      <summary>Adds two time intervals represented by their constituent parts. </summary>
      <keywords>OracleIntervalDS.Add method </keywords>
      <param name="day1">Number of days in the first interval. </param>
      <param name="hour1">Number of hours in the first interval. </param>
      <param name="minute1">Number of minutes in the first interval. </param>
      <param name="second1">Number of seconds in the first interval. </param>
      <param name="fsecond1">Fractional part of a second in the first interval. </param>
      <param name="isPositive1"><see langword="true" /> if the first time interval is a positive value; otherwise, <see langword="false" />. </param>
      <param name="day2">Number of days in the second interval. </param>
      <param name="hour2">Number of hours in the second interval. </param>
      <param name="minute2">Number of minutes in the second interval. </param>
      <param name="second2">Number of seconds in the second interval. </param>
      <param name="fsecond2">Fractional part of a second in the second interval. </param>
      <param name="isPositive2"><see langword="true" /> if the second time interval is a positive value; otherwise, <see langword="false" />. </param>
      <returns>An <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> structure. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleIntervalDS.CompareTo(System.Object)">
      <summary>Compares the current <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> object to the specified object and returns an integer that represents their relative values. </summary>
      <keywords>OracleIntervalDS.CompareTo method </keywords>
      <param name="obj">The object to be compared. </param>
      <returns>A signed number indicating the relative values of the current <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> structure and the object.
<list type="table">
  <listheader>
    <term>Return Value</term>
    <description>Condition</description>
  </listheader>
  <item>
    <term>Less than zero</term>
    <description>The value of the current <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> object is less than the object.</description>
  </item>
  <item>
    <term>Zero</term>
    <description>The current <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> object is the same to the object.</description>
   </item>
   <item>
     <term>Greater than zero</term>
     <description>The current <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> object is greater than the object.</description>
   </item>
</list> </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleIntervalDS.Days">
      <summary>Gets the days component of the <see cref="T:Devart.Data.Oracle.OracleIntervalDS" />. </summary>
      <keywords>OracleIntervalDS.Days property </keywords>
      <value>The day component of the <see cref="T:Devart.Data.Oracle.OracleIntervalDS" />. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleIntervalDS.Divide(Devart.Data.Oracle.OracleIntervalDS,Devart.Data.Oracle.OracleNumber)">
      <summary>Divides an <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> value by a number. </summary>
      <keywords>OracleIntervalDS.Divide method </keywords>
      <param name="value">The specified <see cref="T:Devart.Data.Oracle.OracleIntervalDS" />. </param>
      <param name="divisor">A divisor. </param>
      <returns>An <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> structure. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleIntervalDS.Equals(Devart.Data.Oracle.OracleIntervalDS,Devart.Data.Oracle.OracleIntervalDS)">
      <summary>Determines whether two <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> values are equal. </summary>
      <keywords>OracleIntervalDS.Equals method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleIntervalDS" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleIntervalDS" />. </param>
      <returns><see langword="true" /> if two <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> values are equal; otherwise, <see langword="false" />. </returns>
      <overloads>Compares two <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> structures to determine if they are equal. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleIntervalDS.Equals(System.Object)">
      <summary>Compares the specified object parameter to the <see cref="P:Devart.Data.Oracle.OracleIntervalDS.Value" /> property of the <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> object. </summary>
      <keywords>OracleIntervalDS.Equals method </keywords>
      <param name="value">The object to be compared. </param>
      <returns><see langword="true" /> if object is an instance of the <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> and has the same time interval; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleIntervalDS.GetHashCode()">
      <summary>Gets a hash code for the <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> instance. </summary>
      <keywords>OracleIntervalDS.GetHashCode method </keywords>
      <returns>A 32-bit signed integer hash code. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleIntervalDS.GreaterThan(Devart.Data.Oracle.OracleIntervalDS,Devart.Data.Oracle.OracleIntervalDS)">
      <summary>Determines whether the first of two <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> values is greater than the second. </summary>
      <keywords>OracleIntervalDS.GreaterThan method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleIntervalDS" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleIntervalDS" />. </param>
      <returns><see langword="true" /> if the first of two <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> values is greater than the second; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleIntervalDS.GreaterThanOrEqual(Devart.Data.Oracle.OracleIntervalDS,Devart.Data.Oracle.OracleIntervalDS)">
      <summary>Determines whether the first of two <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> values is greater than or equal to the second. </summary>
      <keywords>OracleIntervalDS.GreaterThanOrEqual method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleIntervalDS" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleIntervalDS" />. </param>
      <returns><see langword="true" /> if the first of two <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> values is greater than or equal to the second; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleIntervalDS.Hours">
      <summary>Gets the hours component of the <see cref="T:Devart.Data.Oracle.OracleIntervalDS" />. </summary>
      <keywords>OracleIntervalDS.Hours property </keywords>
      <value>The hour component of the <see cref="T:Devart.Data.Oracle.OracleIntervalDS" />, between 0 and 23. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleIntervalDS.IsNull">
      <summary>Gets a value indicating whether the <see cref="P:Devart.Data.Oracle.OracleIntervalDS.Value" /> property of the <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> is <see cref="F:Devart.Data.Oracle.OracleIntervalDS.Null" />. </summary>
      <keywords>OracleIntervalDS.IsNull property </keywords>
      <value><see langword="true" /> if the <see cref="P:Devart.Data.Oracle.OracleIntervalDS.Value" /> is <see cref="F:Devart.Data.Oracle.OracleIntervalDS.Null" />; otherwise, <see langword="false" />. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleIntervalDS.LessThan(Devart.Data.Oracle.OracleIntervalDS,Devart.Data.Oracle.OracleIntervalDS)">
      <summary>Determines whether the first of two <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> values is less than the second. </summary>
      <keywords>OracleIntervalDS.LessThan method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleIntervalDS" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleIntervalDS" />. </param>
      <returns><see langword="true" /> if the first of two <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> values is less than the second; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleIntervalDS.LessThanOrEqual(Devart.Data.Oracle.OracleIntervalDS,Devart.Data.Oracle.OracleIntervalDS)">
      <summary>Determines whether the first of two <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> values is less than or equal to the second. </summary>
      <keywords>OracleIntervalDS.LessThanOrEqual method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleIntervalDS" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleIntervalDS" />. </param>
      <returns><see langword="true" /> if the first of two <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> values is less than or equal to the second; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="F:Devart.Data.Oracle.OracleIntervalDS.MaxValue">
      <summary>Represents the maximum valid date value for an <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> structure. </summary>
      <remarks>The maximum Day value is 999999999, Hour is 23, Minute is 59, Second is 59, and Nanosecond is 999999999. </remarks>
      <keywords>OracleIntervalDS.MaxValue field </keywords>
    </member>
    <member name="P:Devart.Data.Oracle.OracleIntervalDS.Milliseconds">
      <summary>Gets the milliseconds component of the <see cref="T:Devart.Data.Oracle.OracleIntervalDS" />. </summary>
      <keywords>OracleIntervalDS.Milliseconds property </keywords>
      <value>The millisecond component of the <see cref="T:Devart.Data.Oracle.OracleIntervalDS" />. </value>
    </member>
    <member name="F:Devart.Data.Oracle.OracleIntervalDS.MinValue">
      <summary>Represents the minimum valid date value for an <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> structure. </summary>
      <remarks>The minimum Day value is -999999999, Hour is -23, Minute is -59, Second is -59, and Nanosecond is -999999999. </remarks>
      <keywords>OracleIntervalDS.MinValue field </keywords>
    </member>
    <member name="P:Devart.Data.Oracle.OracleIntervalDS.Minutes">
      <summary>Gets the minutes component of the <see cref="T:Devart.Data.Oracle.OracleIntervalDS" />. </summary>
      <keywords>OracleIntervalDS.Minutes property </keywords>
      <value>The minute component of the <see cref="T:Devart.Data.Oracle.OracleIntervalDS" />, between 0 and 59. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleIntervalDS.Multiply(Devart.Data.Oracle.OracleIntervalDS,Devart.Data.Oracle.OracleNumber)">
      <summary>Multiplies an <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> value by a number. </summary>
      <keywords>OracleIntervalDS.Multiply method </keywords>
      <param name="value">The specified <see cref="T:Devart.Data.Oracle.OracleIntervalDS" />. </param>
      <param name="multiplier">A multiplier. </param>
      <returns>A new <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> instance. </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleIntervalDS.Nanoseconds">
      <summary>Gets the nanoseconds component of the <see cref="T:Devart.Data.Oracle.OracleIntervalDS" />. </summary>
      <keywords>OracleIntervalDS.Nanoseconds property </keywords>
      <value>The nanosecond component of the <see cref="T:Devart.Data.Oracle.OracleIntervalDS" />. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleIntervalDS.NotEquals(Devart.Data.Oracle.OracleIntervalDS,Devart.Data.Oracle.OracleIntervalDS)">
      <summary>Determines whether two <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> values are not equal. </summary>
      <keywords>OracleIntervalDS.NotEquals method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleIntervalDS" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleIntervalDS" />. </param>
      <returns><see langword="true" /> if two <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> values are not equal; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="F:Devart.Data.Oracle.OracleIntervalDS.Null">
      <summary>Represents a null value that can be assigned to the <see cref="P:Devart.Data.Oracle.OracleIntervalDS.Value" /> property of an <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> structure. </summary>
      <keywords>OracleIntervalDS.Null field </keywords>
    </member>
    <member name="M:Devart.Data.Oracle.OracleIntervalDS.Parse(System.String)">
      <summary>Converts the specified <see cref="T:System.String" /> representation of a date and time to its <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> equivalent. </summary>
      <keywords>OracleIntervalDS.Parse method </keywords>
      <param name="value">The <see cref="T:System.String" /> to be parsed. </param>
      <returns>An <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> structure equal to the date and time represented by the specified <see cref="T:System.String" />. </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleIntervalDS.Seconds">
      <summary>Gets the seconds component of the <see cref="T:Devart.Data.Oracle.OracleIntervalDS" />. </summary>
      <keywords>OracleIntervalDS.Seconds property </keywords>
      <value>The second component of the <see cref="T:Devart.Data.Oracle.OracleIntervalDS" />, between 0 and 59. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleIntervalDS.Subtract(Devart.Data.Oracle.OracleIntervalDS,Devart.Data.Oracle.OracleIntervalDS)">
      <summary>Subtracts one <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> structure from another. </summary>
      <keywords>OracleIntervalDS.Subtract method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleIntervalDS" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleIntervalDS" />. </param>
      <returns>An <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> structure. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleIntervalDS.ToString()">
      <summary>Converts the specified <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> structure to a <see cref="T:System.String" />. </summary>
      <keywords>OracleIntervalDS.ToString method </keywords>
      <returns>A <see cref="T:System.String" /> representing the <see cref="P:Devart.Data.Oracle.OracleIntervalDS.Value" /> property of the <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> structure. </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleIntervalDS.TotalDays">
      <summary>Gets the total number, in days, that represent the time period in the <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> structure. </summary>
      <keywords>OracleIntervalDS.TotalDays property </keywords>
      <value>The total number of days. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleIntervalDS.Value">
      <summary>Gets the value of the <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> structure. </summary>
      <keywords>OracleIntervalDS.Value property </keywords>
      <value>The value of the <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> structure. </value>
    </member>
    <member name="F:Devart.Data.Oracle.OracleIntervalDS.Zero">
      <summary>Represents a zero value for an <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> structure. </summary>
      <keywords>OracleIntervalDS.Zero field </keywords>
    </member>
    <member name="M:Devart.Data.Oracle.OracleIntervalDS.op_Addition(Devart.Data.Oracle.OracleIntervalDS,Devart.Data.Oracle.OracleIntervalDS)">
      <summary>Adds two <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> values. </summary>
      <keywords>OracleIntervalDS.op_Addition method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleIntervalDS" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleIntervalDS" />. </param>
      <returns>An <see cref="T:Devart.Data.Oracle.OracleIntervalDS" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleIntervalDS.op_Division(Devart.Data.Oracle.OracleIntervalDS,System.Int32)">
      <summary>Divides an <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> value by a number. </summary>
      <keywords>OracleIntervalDS.op_Division method </keywords>
      <param name="value1">The specified <see cref="T:Devart.Data.Oracle.OracleIntervalDS" />. </param>
      <param name="divisor">A divisor. </param>
      <returns>An <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> structure. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleIntervalDS.op_Equality(Devart.Data.Oracle.OracleIntervalDS,Devart.Data.Oracle.OracleIntervalDS)">
      <summary>Determines whether two <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> values are the same. </summary>
      <keywords>OracleIntervalDS.op_Equality method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleIntervalDS" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleIntervalDS" />. </param>
      <returns><see langword="true" /> if two <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> values are equal; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleIntervalDS.op_Explicit(Devart.Data.Oracle.OracleIntervalDS)~System.TimeSpan">
      <summary>Converts an <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> structure to a <see cref="T:System.TimeSpan" /> structure. </summary>
      <keywords>OracleIntervalDS.op_Explicit method </keywords>
      <param name="value">An <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> structure to convert to <see cref="T:System.TimeSpan" />. </param>
      <returns>A <see cref="T:System.TimeSpan" /> structure. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleIntervalDS.op_GreaterThan(Devart.Data.Oracle.OracleIntervalDS,Devart.Data.Oracle.OracleIntervalDS)">
      <summary>Compares two <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> structures to determine if the first is greater than the second. </summary>
      <keywords>OracleIntervalDS.op_GreaterThan method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleIntervalDS" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleIntervalDS" />. </param>
      <returns><see langword="true" /> if the first of two <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> values is greater than the second; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleIntervalDS.op_GreaterThanOrEqual(Devart.Data.Oracle.OracleIntervalDS,Devart.Data.Oracle.OracleIntervalDS)">
      <summary>Compares two <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> structures to determine if the first is greater than or equal to the second. </summary>
      <keywords>OracleIntervalDS.op_GreaterThanOrEqual method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleIntervalDS" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleIntervalDS" />. </param>
      <returns><see langword="true" /> if the first of two <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> values is greater than or equal to the second; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleIntervalDS.op_Implicit(System.TimeSpan)~Devart.Data.Oracle.OracleIntervalDS">
      <summary>Converts a <see cref="T:System.TimeSpan" /> structure to an <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> structure. </summary>
      <keywords>OracleIntervalDS.op_Implicit method </keywords>
      <param name="value">A <see cref="T:System.TimeSpan" /> structure. </param>
      <returns>An <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> structure. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleIntervalDS.op_Inequality(Devart.Data.Oracle.OracleIntervalDS,Devart.Data.Oracle.OracleIntervalDS)">
      <summary>Determines whether two <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> values are not equal. </summary>
      <keywords>OracleIntervalDS.op_Inequality method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleIntervalDS" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleIntervalDS" />. </param>
      <returns><see langword="true" /> if two <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> values are not equal; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleIntervalDS.op_LessThan(Devart.Data.Oracle.OracleIntervalDS,Devart.Data.Oracle.OracleIntervalDS)">
      <summary>Compares two <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> structures to determine if the first is less than the second. </summary>
      <keywords>OracleIntervalDS.op_LessThan method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleIntervalDS" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleIntervalDS" />. </param>
      <returns><see langword="true" /> if the first of two <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> values is less than the second; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleIntervalDS.op_LessThanOrEqual(Devart.Data.Oracle.OracleIntervalDS,Devart.Data.Oracle.OracleIntervalDS)">
      <summary>Compares two <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> structures to determine if the first is less than or equal to the second. </summary>
      <keywords>OracleIntervalDS.op_LessThanOrEqual method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleIntervalDS" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleIntervalDS" />. </param>
      <returns><see langword="true" /> if the first of two <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> values is less than or equal to the second; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleIntervalDS.op_Multiply(Devart.Data.Oracle.OracleIntervalDS,System.Int32)">
      <summary>Multiplies an <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> value by a number. </summary>
      <keywords>OracleIntervalDS.op_Multiply method </keywords>
      <param name="value1">The specified <see cref="T:Devart.Data.Oracle.OracleIntervalDS" />. </param>
      <param name="multiplier">A multiplier. </param>
      <returns>A new <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> instance. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleIntervalDS.op_Subtraction(Devart.Data.Oracle.OracleIntervalDS,Devart.Data.Oracle.OracleIntervalDS)">
      <summary>Subtracts one <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> structure from another. </summary>
      <keywords>OracleIntervalDS.op_Subtraction method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleIntervalDS" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleIntervalDS" />. </param>
      <returns>An <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> structure. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleIntervalDS.op_UnaryNegation(Devart.Data.Oracle.OracleIntervalDS)">
      <summary>Changes sign of an <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> structure. </summary>
      <remarks><see cref="M:Devart.Data.Oracle.OracleIntervalDS.op_UnaryNegation" /> makes negative values from positive ones and vice versa. </remarks>
      <keywords>OracleIntervalDS.op_UnaryNegation method </keywords>
      <param name="value1">The specified <see cref="T:Devart.Data.Oracle.OracleIntervalDS" />. </param>
      <returns>An <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> structure. </returns>
    </member>
    <member name="T:Devart.Data.Oracle.OracleIntervalYM">
      <summary>Represents the Oracle INTERVAL YEAR TO MONTH data type. Each object of the <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> class stores a period of time in years and months. </summary>
      <remarks>To obtain an <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> object call the <see cref="M:Devart.Data.Oracle.OracleDataReader.GetOracleIntervalYM" /> method of the <see cref="T:Devart.Data.Oracle.OracleDataReader" /> class. </remarks>
    </member>
    <member name="M:Devart.Data.Oracle.OracleIntervalYM.#ctor(System.Double)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> structure with the specified total number of years. </summary>
      <param name="totalYears">Number of total years. </param>
      <overloads>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> structure. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleIntervalYM.#ctor(System.Int32,System.Int32)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> structure with the specified number years and months. </summary>
      <param name="years">Number of years. </param>
      <param name="months">Number of months. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleIntervalYM.#ctor(System.Int64)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> structure with the specified total number of months. </summary>
      <param name="totalMonths">Number of total months. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleIntervalYM.Add(Devart.Data.Oracle.OracleIntervalYM,Devart.Data.Oracle.OracleIntervalYM)">
      <summary>Adds two <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> values. </summary>
      <keywords>OracleIntervalYM.Add method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleIntervalYM" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleIntervalYM" />. </param>
      <returns>An <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> structure. </returns>
      <overloads>Adds two time intervals. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleIntervalYM.Add(System.Int32,System.Int32,System.Boolean,System.Int32,System.Int32,System.Boolean)">
      <summary>Adds two time intervals represented by their constituent parts. </summary>
      <keywords>OracleIntervalYM.Add method </keywords>
      <param name="year1">Number of years in the first interval. </param>
      <param name="month1">Number of months in the first interval. </param>
      <param name="isPositive1"><see langword="true" /> if the first time interval is a positive value; otherwise, <see langword="false" />. </param>
      <param name="year2">Number of years in the second interval. </param>
      <param name="month2">Number of months in the second interval. </param>
      <param name="isPositive2"><see langword="true" /> if the second time interval is a positive value; otherwise, <see langword="false" />. </param>
      <returns>An <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> structure. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleIntervalYM.CompareTo(System.Object)">
      <summary>Compares the current <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> object to the specified object and returns an integer that represents their relative values. </summary>
      <keywords>OracleIntervalYM.CompareTo method </keywords>
      <param name="obj">The object to be compared. </param>
      <returns>A signed number indicating the relative values of the current <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> structure and the object.
<list type="table">
  <listheader>
    <term>Return Value</term>
    <description>Condition</description>
  </listheader>
  <item>
    <term>Less than zero</term>
    <description>The value of the current <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> object is less than the object.</description>
  </item>
  <item>
    <term>Zero</term>
    <description>The current <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> object is the same to the object.</description>
   </item>
   <item>
     <term>Greater than zero</term>
     <description>The current <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> object is greater than the object.</description>
   </item>
</list> </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleIntervalYM.Divide(Devart.Data.Oracle.OracleIntervalYM,Devart.Data.Oracle.OracleNumber)">
      <summary>Divides an <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> value by a number. </summary>
      <keywords>OracleIntervalYM.Divide method </keywords>
      <param name="value">The specified <see cref="T:Devart.Data.Oracle.OracleIntervalYM" />. </param>
      <param name="divisor">A divisor. </param>
      <returns>An <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> structure. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleIntervalYM.Equals(Devart.Data.Oracle.OracleIntervalYM,Devart.Data.Oracle.OracleIntervalYM)">
      <summary>Determines whether two <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> values are equal. </summary>
      <keywords>OracleIntervalYM.Equals method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleIntervalYM" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleIntervalYM" />. </param>
      <returns><see langword="true" /> if two <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> values are equal; otherwise, <see langword="false" />. </returns>
      <overloads>Compares two <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> structures to determine if they are equal. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleIntervalYM.Equals(System.Object)">
      <summary>Compares the specified object parameter to the <see cref="P:Devart.Data.Oracle.OracleIntervalYM.Value" /> property of the <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> object. </summary>
      <keywords>OracleIntervalYM.Equals method </keywords>
      <param name="value">The object to be compared. </param>
      <returns><see langword="true" /> if object is an instance of the <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> and has the same time interval; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleIntervalYM.GetHashCode()">
      <summary>Gets a hash code for the <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> instance. </summary>
      <keywords>OracleIntervalYM.GetHashCode method </keywords>
      <returns>A 32-bit signed integer hash code. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleIntervalYM.GreaterThan(Devart.Data.Oracle.OracleIntervalYM,Devart.Data.Oracle.OracleIntervalYM)">
      <summary>Determines whether the first of two <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> values is greater than the second. </summary>
      <keywords>OracleIntervalYM.GreaterThan method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleIntervalYM" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleIntervalYM" />. </param>
      <returns><see langword="true" /> if the first of two <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> values is greater than the second; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleIntervalYM.GreaterThanOrEqual(Devart.Data.Oracle.OracleIntervalYM,Devart.Data.Oracle.OracleIntervalYM)">
      <summary>Determines whether the first of two <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> values is greater than or equal to the second. </summary>
      <keywords>OracleIntervalYM.GreaterThanOrEqual method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleIntervalYM" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleIntervalYM" />. </param>
      <returns><see langword="true" /> if the first of two <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> values is greater than or equal to the second; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleIntervalYM.IsNull">
      <summary>Gets a value indicating whether the <see cref="P:Devart.Data.Oracle.OracleIntervalYM.Value" /> property of the <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> is <see cref="F:Devart.Data.Oracle.OracleIntervalYM.Null" />. </summary>
      <keywords>OracleIntervalYM.IsNull property </keywords>
      <value><see langword="true" /> if the <see cref="P:Devart.Data.Oracle.OracleIntervalYM.Value" /> is <see cref="F:Devart.Data.Oracle.OracleIntervalYM.Null" />; otherwise, <see langword="false" />. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleIntervalYM.LessThan(Devart.Data.Oracle.OracleIntervalYM,Devart.Data.Oracle.OracleIntervalYM)">
      <summary>Determines whether the first of two <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> values is less than the second. </summary>
      <keywords>OracleIntervalYM.LessThan method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleIntervalYM" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleIntervalYM" />. </param>
      <returns><see langword="true" /> if the first of two <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> values is less than the second; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleIntervalYM.LessThanOrEqual(Devart.Data.Oracle.OracleIntervalYM,Devart.Data.Oracle.OracleIntervalYM)">
      <summary>Determines whether the first of two <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> values is less than or equal to the second. </summary>
      <keywords>OracleIntervalYM.LessThanOrEqual method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleIntervalYM" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleIntervalYM" />. </param>
      <returns><see langword="true" /> if the first of two <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> values is less than or equal to the second; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="F:Devart.Data.Oracle.OracleIntervalYM.MaxValue">
      <summary>Represents the maximum valid date value for an <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> structure. </summary>
      <remarks>The maximum Year value is 999999999 and Month is 11. </remarks>
      <keywords>OracleIntervalYM.MaxValue field </keywords>
    </member>
    <member name="F:Devart.Data.Oracle.OracleIntervalYM.MinValue">
      <summary>Represents the minimum valid date value for an <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> structure. </summary>
      <remarks>The minimum Year value is -999999999 and Month is -11. </remarks>
      <keywords>OracleIntervalYM.MinValue field </keywords>
    </member>
    <member name="P:Devart.Data.Oracle.OracleIntervalYM.Months">
      <summary>Gets the months component of the <see cref="T:Devart.Data.Oracle.OracleIntervalYM" />. </summary>
      <keywords>OracleIntervalYM.Months property </keywords>
      <value>The months component of the <see cref="T:Devart.Data.Oracle.OracleIntervalYM" />. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleIntervalYM.Multiply(Devart.Data.Oracle.OracleIntervalYM,Devart.Data.Oracle.OracleNumber)">
      <summary>Multiplies an <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> value by a number. </summary>
      <keywords>OracleIntervalYM.Multiply method </keywords>
      <param name="value">The specified <see cref="T:Devart.Data.Oracle.OracleIntervalYM" />. </param>
      <param name="multiplier">A multiplier. </param>
      <returns>A new <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> instance. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleIntervalYM.NotEquals(Devart.Data.Oracle.OracleIntervalYM,Devart.Data.Oracle.OracleIntervalYM)">
      <summary>Determines whether two <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> values are not equal. </summary>
      <keywords>OracleIntervalYM.NotEquals method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleIntervalYM" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleIntervalYM" />. </param>
      <returns><see langword="true" /> if two <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> values are not equal; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="F:Devart.Data.Oracle.OracleIntervalYM.Null">
      <summary>Represents a null value that can be assigned to the <see cref="P:Devart.Data.Oracle.OracleIntervalYM.Value" /> property of an <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> structure. </summary>
      <keywords>OracleIntervalYM.Null field </keywords>
    </member>
    <member name="M:Devart.Data.Oracle.OracleIntervalYM.Parse(System.String)">
      <summary>Converts the specified <see cref="T:System.String" /> representation of a date to its <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> equivalent. </summary>
      <keywords>OracleIntervalYM.Parse method </keywords>
      <param name="value">The <see cref="T:System.String" /> to be parsed. </param>
      <returns>An <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> structure equal to the date represented by the specified <see cref="T:System.String" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleIntervalYM.Subtract(Devart.Data.Oracle.OracleIntervalYM,Devart.Data.Oracle.OracleIntervalYM)">
      <summary>Subtracts one <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> structure from another. </summary>
      <keywords>OracleIntervalYM.Subtract method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleIntervalYM" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleIntervalYM" />. </param>
      <returns>An <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> structure. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleIntervalYM.ToString()">
      <summary>Converts the current <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> structure to a <see cref="T:System.String" />. </summary>
      <keywords>OracleIntervalYM.ToString method </keywords>
      <returns>A <see cref="T:System.String" /> representing the <see cref="P:Devart.Data.Oracle.OracleIntervalYM.Value" /> property of the <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> structure. </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleIntervalYM.TotalYears">
      <summary>Gets the total number, in years, that represents the period of time in the current <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> structure. </summary>
      <keywords>OracleIntervalYM.TotalYears property </keywords>
      <value>The total number of years. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleIntervalYM.Value">
      <summary>Gets the value of the <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> structure. </summary>
      <keywords>OracleIntervalYM.Value property </keywords>
      <value>The value of the <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> structure. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleIntervalYM.Years">
      <summary>Gets the years component of the <see cref="T:Devart.Data.Oracle.OracleIntervalYM" />. </summary>
      <keywords>OracleIntervalYM.Years property </keywords>
      <value>The years component of the <see cref="T:Devart.Data.Oracle.OracleIntervalYM" />. </value>
    </member>
    <member name="F:Devart.Data.Oracle.OracleIntervalYM.Zero">
      <summary>Represents a zero value for an <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> structure. </summary>
      <keywords>OracleIntervalYM.Zero field </keywords>
    </member>
    <member name="M:Devart.Data.Oracle.OracleIntervalYM.op_Addition(Devart.Data.Oracle.OracleIntervalYM,Devart.Data.Oracle.OracleIntervalYM)">
      <summary>Adds two <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> values. </summary>
      <keywords>OracleIntervalYM.op_Addition method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleIntervalYM" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleIntervalYM" />. </param>
      <returns>An <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> structure. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleIntervalYM.op_Division(Devart.Data.Oracle.OracleIntervalYM,System.Int32)">
      <summary>Divides an <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> value by a number. </summary>
      <keywords>OracleIntervalYM.op_Division method </keywords>
      <param name="value1">The specified <see cref="T:Devart.Data.Oracle.OracleIntervalYM" />. </param>
      <param name="divisor">A divisor. </param>
      <returns>An <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> structure. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleIntervalYM.op_Equality(Devart.Data.Oracle.OracleIntervalYM,Devart.Data.Oracle.OracleIntervalYM)">
      <summary>Determines whether two <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> values are equal. </summary>
      <keywords>OracleIntervalYM.op_Equality method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleIntervalYM" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleIntervalYM" />. </param>
      <returns><see langword="true" /> if two <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> values are equal; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleIntervalYM.op_GreaterThan(Devart.Data.Oracle.OracleIntervalYM,Devart.Data.Oracle.OracleIntervalYM)">
      <summary>Compares two <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> structures to determine if the first is greater than the second. </summary>
      <keywords>OracleIntervalYM.op_GreaterThan method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleIntervalYM" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleIntervalYM" />. </param>
      <returns><see langword="true" /> if the first of two <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> values is greater than the second; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleIntervalYM.op_GreaterThanOrEqual(Devart.Data.Oracle.OracleIntervalYM,Devart.Data.Oracle.OracleIntervalYM)">
      <summary>Compares two <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> structures to determine if the first is greater than or equal to the second. </summary>
      <keywords>OracleIntervalYM.op_GreaterThanOrEqual method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleIntervalYM" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleIntervalYM" />. </param>
      <returns><see langword="true" /> if the first of two <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> values is greater than or equal to the second; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleIntervalYM.op_Inequality(Devart.Data.Oracle.OracleIntervalYM,Devart.Data.Oracle.OracleIntervalYM)">
      <summary>Determines whether two <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> values are not equal. </summary>
      <keywords>OracleIntervalYM.op_Inequality method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleIntervalYM" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleIntervalYM" />. </param>
      <returns><see langword="true" /> if two <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> values are not equal; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleIntervalYM.op_LessThan(Devart.Data.Oracle.OracleIntervalYM,Devart.Data.Oracle.OracleIntervalYM)">
      <summary>Compares two <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> structures to determine if the first is less than the second. </summary>
      <keywords>OracleIntervalYM.op_LessThan method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleIntervalYM" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleIntervalYM" />. </param>
      <returns><see langword="true" /> if the first of two <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> values is less than the second; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleIntervalYM.op_LessThanOrEqual(Devart.Data.Oracle.OracleIntervalYM,Devart.Data.Oracle.OracleIntervalYM)">
      <summary>Compares two <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> structures to determine if the first is less than or equal to the second. </summary>
      <keywords>OracleIntervalYM.op_LessThanOrEqual method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleIntervalYM" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleIntervalYM" />. </param>
      <returns><see langword="true" /> if the first of two <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> values is less than or equal to the second; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleIntervalYM.op_Multiply(Devart.Data.Oracle.OracleIntervalYM,System.Int32)">
      <summary>Multiplies an <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> value by a number. </summary>
      <keywords>OracleIntervalYM.op_Multiply method </keywords>
      <param name="value1">The specified <see cref="T:Devart.Data.Oracle.OracleIntervalYM" />. </param>
      <param name="multiplier">A multiplier. </param>
      <returns>A new <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> instance. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleIntervalYM.op_Subtraction(Devart.Data.Oracle.OracleIntervalYM,Devart.Data.Oracle.OracleIntervalYM)">
      <summary>Subtracts one <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> structure from another. </summary>
      <keywords>OracleIntervalYM.op_Subtraction method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleIntervalYM" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleIntervalYM" />. </param>
      <returns>An <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> structure. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleIntervalYM.op_UnaryNegation(Devart.Data.Oracle.OracleIntervalYM)">
      <summary>Changes sign of an <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> structure. </summary>
      <remarks><see cref="M:Devart.Data.Oracle.OracleIntervalYM.op_UnaryNegation" /> makes negative values from positive ones and vice versa. </remarks>
      <keywords>OracleIntervalYM.op_UnaryNegation method </keywords>
      <param name="value1">The specified <see cref="T:Devart.Data.Oracle.OracleIntervalYM" />. </param>
      <returns>An <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> structure. </returns>
    </member>
    <member name="T:Devart.Data.Oracle.OracleLoader">
      <summary>Serves to load external data into the Oracle database. </summary>
      <remarks>The <see cref="T:Devart.Data.Oracle.OracleLoader" /> uses direct path load interface to speed up loading. To specify the name of table to load set <see cref="P:Devart.Data.Oracle.OracleLoader.TableName" /> property. Use <see cref="P:Devart.Data.Oracle.OracleLoader.Columns" /> property to access individual columns. See example below and Loader sample for detailed information.
<para><see cref="T:Devart.Data.Oracle.OracleLoader" /> class is not available in <see cref="P:Devart.Data.Oracle.OracleConnection.Direct" /> mode. <see cref="T:Devart.Data.Oracle.OracleLoader" /> cannot function when <see cref="P:Devart.Data.Oracle.OracleConnection.Unicode" /> is <see langword="true" />.</para>

<para>The PRIMARY KEY, UNIQUE, and NOT NULL constaints are enabled when loading data with OracleLoader:</para>
<list>
  <item>An attempt to insert NULL into NOT NULL column leads to ORA-01400 at the end of the load.</item>
  <item>UNIQUE constraints are verified when indexes are rebuilt on OracleLoader.Close(). If UNIQUE constraint is violated, the index state becomes Unusable.</item>
  <item>The PRIMARY KEY constraint means that column is UNIQUE and NOT NULL simultaneously.</item>
</list>
<para>Restrictions of OracleLoader:</para>
<list>
  <item>triggers are not supported; use <a href="http://www.devart.com/dotconnect/oracle/docs/?ArrayBind.html">DML Arrays</a> to overcome this limitation</item>
  <item>check constraints are not supported</item>
  <item>referential integrity constraints are not supported</item>
</list>

<para>
The following types are supported in <see cref="T:Devart.Data.Oracle.OracleLoader" />:
<list>
  <item>
    <description>OracleDbType.VarChar</description>
  </item>
  <item>
    <description>OracleDbType.Blob</description>
  </item>
  <item>
    <description>OracleDbType.Char</description>
  </item>
  <item>
    <description>OracleDbType.Clob</description>
  </item>
  <item>
    <description>OracleDbType.Integer</description>
  </item>
  <item>
    <description>OracleDbType.IntervalDS</description>
  </item>
  <item>
    <description>OracleDbType.Double</description>
  </item>
  <item>
    <description>OracleDbType.Date</description>
  </item>
  <item>
    <description>OracleDbType.Number</description>
  </item>
  <item>
    <description>OracleDbType.Timestamp</description>
  </item>
</list>
</para>
<para>This class is available only in Professional and Developer Editions. It is not available in Standard and Mobile Editions.</para> </remarks>
      <example><para>The following example creates an <see cref="T:Devart.Data.Oracle.OracleLoader" />, then populates Columns collection from table description, loads data, flushes the buffer and disposes internal <see cref="T:Devart.Data.Oracle.OracleLoader" /> structures. The <see cref="T:Devart.Data.Oracle.OracleLoader" /> requires open connection.</para>
<para>The following table is used in this example:</para>
<pre>CREATE TABLE LOAD_TABLE(
  ID NUMBER,
  CHAR_FIELD VARCHAR(20),
  DATE_FIELD DATE,
  CONSTRAINT PK_LOAD_TABLE PRIMARY KEY (ID)
);</pre> <code lang="csharp">public void LoadData(OracleConnection conn)
{
  // OracleLoader requires open connection
  if (conn.State == ConnectionState.Closed)
    conn.Open();
  OracleLoader loader = new OracleLoader();
  // Specify connection that OracleLoader will use for loading
  loader.Connection = conn;
  // Set table name that will be loaded into
  loader.TableName = "load_table";
  // Populate Columns collection from table description
  loader.CreateColumns();
  // Prepare OracleLoader for loading
  loader.Open();
  for (int i = 0; i &lt; 10000; i++)
  {
    loader.SetValue("id", i);
    loader.SetValue("char_field", "test string");
    loader.SetValue("date_field", DateTime.Now);
    loader.NextRow();
  }
  // Flush buffer and dispose internal OracleLoader structures
  loader.Close();
} </code><code lang="vb">Public Sub LoadData(conn As OracleConnection)
  ' OracleLoader requires open connection
  If conn.State = ConnectionState.Closed
    conn.Open()
  Dim loader As OracleLoader
  loader = new OracleLoader
  ' Specify connection that OracleLoader will use for loading
  loader.Connection = conn
  ' Set table name that will be loaded into
  loader.TableName = "load_table"
  ' Populate Columns collection from table description
  loader.CreateColumns()
  ' Prepare OracleLoader for loading
  loader.Open()
  Dim i As Integer
  For i To 10000
    loader.SetValue("id", i)
    loader.SetValue("char_field", "test string")
    loader.SetValue("date_field", DateTime.Now)
    loader.NextRow()
  Next i
  ' Flush buffer and dispose internal OracleLoader structures
  loader.Close()
End Sub </code></example>
      <seealso cref="T:Devart.Data.Oracle.OracleLoaderColumn" />
      <seealso cref="T:Devart.Data.Oracle.OracleLoaderColumnCollection" />
    </member>
    <member name="M:Devart.Data.Oracle.OracleLoader.#ctor()">
      <summary>Creates an <see cref="T:Devart.Data.Oracle.OracleLoader" /> object without <see cref="P:Devart.Data.Oracle.OracleLoader.Connection" /> and with empty <see cref="P:Devart.Data.Oracle.OracleLoader.TableName" />. </summary>
      <remarks>To use an <see cref="T:Devart.Data.Oracle.OracleLoader" /> object created with this constructor you must set <see cref="P:Devart.Data.Oracle.OracleLoader.Connection" /> and <see cref="P:Devart.Data.Oracle.OracleLoader.TableName" /> properties. </remarks>
      <overloads>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleLoader" /> class. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleLoader.#ctor(System.String)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleLoader" /> class with table name that will be loaded. </summary>
      <remarks>The constructor initializes all fields to their default values and set <see cref="P:Devart.Data.Oracle.OracleLoader.TableName" /> to <paramref name="tableName" /> parameter. </remarks>
      <example>The following example creates a <see cref="T:Devart.Data.Oracle.OracleLoader" /> and sets some of its properties. Then prepares data and loads it into the table. <code lang="csharp">public void CreateMyLoader()
{
  // Create and open connection
  OracleConnection conn = new OracleConnection(
      "User Id=Scott;Password=tiger;Data Source=Ora");
  conn.Open();

  // Create loader instance
  OracleLoader loader = new OracleLoader("loader_test");
  // Set loader properties
  loader.Connection = conn;
     
  // Prepare for loading
  loader.Open();

  // Set row values
  for (int i = 0; i &lt; 10000; i++) {
    loader.SetValue(0, i);
    loader.SetValue(1, "test string");
    loader.SetValue(2, DateTime.Now);
    // Load next table row
    loader.NextRow();
  }

  // Flush buffer and finish loading
  loader.Close();
} </code><code lang="vb">Public Sub CreateMyLoader()
  ' Create and open connection
  Dim conn As OracleConnection = new OracleConnection( _
      "User Id=Scott;Password=tiger;Data Source=Ora")
  conn.Open()

  ' Create loader instance
  Dim loader As OracleLoader = new OracleLoader("loader_test")
  ' Set loader properties
  loader.Connection = conn
     
  ' Prepare for loading
  loader.Open()

  ' Set row values
  Dim i As Integer
  For i = 0 To 10000
    loader.SetValue(0, i)
    loader.SetValue(1, "test string")
    loader.SetValue(2, DateTime.Now)
    ' Load next table row
    loader.NextRow()
  next

  ' Flush buffer and finish loading
  loader.Close()
End Sub </code></example>
      <seealso cref="T:Devart.Data.Oracle.OracleLoaderColumn" />
      <seealso cref="T:Devart.Data.Oracle.OracleLoaderColumnCollection" />
      <param name="tableName">Name of the table that will be loaded. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleLoader.#ctor(System.String,Devart.Data.Oracle.OracleConnection)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleLoader" /> class with table name that will be loaded and a <see cref="T:Devart.Data.Oracle.OracleConnection" /> object. </summary>
      <remarks>Use this constructor to set <see cref="P:Devart.Data.Oracle.OracleLoader.TableName" /> and <see cref="P:Devart.Data.Oracle.OracleLoader.Connection" /> properties at the time of initialization. </remarks>
      <example>The following example creates a <see cref="T:Devart.Data.Oracle.OracleLoader" /> and sets some of its properties. Then prepares data and loads it into the table. <code lang="csharp">public void CreateMyLoader()
{
  // Create and open connection
  OracleConnection conn = new OracleConnection(
      "User Id=Scott;Password=tiger;Data Source=Ora");
  conn.Open();

  // Create loader instance
  OracleLoader loader = new OracleLoader("loader_test", conn);
     
  // Prepare for loading
  loader.Open();

  // Set row values
  for (int i = 0; i &lt; 10000; i++) {
    loader.SetValue(0, i);
    loader.SetValue(1, "test string");
    loader.SetValue(2, DateTime.Now);
    // Load next table row
    loader.NextRow();
  }

  // Flush buffer and finish loading
  loader.Close();
} </code><code lang="vb">Public Sub CreateMyLoader()
  ' Create and open connection
  Dim conn As OracleConnection = new OracleConnection( _
      "User Id=Scott;Password=tiger;Data Source=Ora")
  conn.Open()

  ' Create loader instance
  Dim loader As OracleLoader = new OracleLoader("loader_test", conn)
     
  ' Prepare for loading
  loader.Open()

  ' Set row values
  Dim i As Integer
  For i = 0 To 10000
    loader.SetValue(0, i)
    loader.SetValue(1, "test string")
    loader.SetValue(2, DateTime.Now)
    ' Load next table row
    loader.NextRow()
  next

  ' Flush buffer and finish loading
  loader.Close()
End Sub </code></example>
      <seealso cref="T:Devart.Data.Oracle.OracleLoaderColumn" />
      <seealso cref="T:Devart.Data.Oracle.OracleLoaderColumnCollection" />
      <param name="tableName">Name of the table that will be loaded. </param>
      <param name="connection">A <see cref="T:Devart.Data.Oracle.OracleConnection" /> object that represents the connection to a data source. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleLoader.Close()">
      <summary>Closes loading session and flushes remaining rows to the table. </summary>
      <remarks>You must call <see cref="M:Devart.Data.Oracle.OracleLoader.Close()" /> method after finishing of loading session. If rows exist in the loader internal buffer, they will be flushed to the table. </remarks>
      <keywords>OracleLoader.Close method </keywords>
    </member>
    <member name="P:Devart.Data.Oracle.OracleLoader.Columns">
      <summary>Gets the <see cref="T:Devart.Data.Oracle.OracleLoaderColumnCollection" /> collection. </summary>
      <remarks>You may manually add columns to the <see cref="T:Devart.Data.Oracle.OracleLoaderColumnCollection" /> or call <see cref="M:Devart.Data.Oracle.OracleLoader.CreateColumns()" /> method to populate columns collection from the table description in the Oracle database. </remarks>
      <keywords>OracleLoader.Columns property </keywords>
      <value>Columns which loaded table consist of. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleLoader.Connection">
      <summary>Gets or sets the <see cref="T:Devart.Data.Oracle.OracleConnection" /> used by this instance of the <see cref="T:Devart.Data.Oracle.OracleLoader" />. </summary>
      <remarks>
        <see cref="T:Devart.Data.Oracle.OracleLoader" /> instance uses <see cref="T:Devart.Data.Oracle.OracleConnection" /> during loading and for populating columns collection when <see cref="M:Devart.Data.Oracle.OracleLoader.CreateColumns()" /> method is called. For these operations <see cref="T:Devart.Data.Oracle.OracleLoader" /> requires open connection.
<para>This property supports the <a href="InterForm.html">InterForm</a> technology.</para> </remarks>
      <keywords>OracleLoader.Connection property </keywords>
      <value>The connection to a data source. The default value is a null reference. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleLoader.CreateColumns()">
      <summary>Retrieves table columns information from the table specified in the <see cref="P:Devart.Data.Oracle.OracleLoader.TableName" /> property and populates columns collection. </summary>
      <remarks>
        <para>If <see cref="P:Devart.Data.Oracle.OracleLoader.Columns" /> property consists of some columns they will be deleted before calling <see cref="M:Devart.Data.Oracle.OracleLoader.CreateColumns()" /> method. <see cref="P:Devart.Data.Oracle.OracleLoader.TableName" /> property must be set before calling this method.</para>
        <para>
          <see cref="M:Devart.Data.Oracle.OracleLoader.CreateColumns()" /> retrieves all columns from the table. It means that when inserting the data, SQL INSERT statement is generated for all of the columns, regardless of how many you have assigned with <see cref="M:Devart.Data.Oracle.OracleLoader.SetValue" /> method. The columns you have omitted are considered to be of NULL value. If you want to generate the statements for chosen columns only, you have to manually edit the collection.</para> </remarks>
      <keywords>OracleLoader.CreateColumns method </keywords>
    </member>
    <member name="E:Devart.Data.Oracle.OracleLoader.Error">
      <summary>Raises when an error occurs during a load operation. </summary>
      <remarks>The event handler receives an argument of <see cref="T:Devart.Data.Oracle.OracleLoaderErrorEventArgs" /> type containing data related to this event. The following <see cref="T:Devart.Data.Oracle.OracleLoaderErrorEventArgs" /> properties provide information specific to this event:
<list type="table">
  <listheader>
    <term>Property</term>
    <description>Description</description>
  </listheader>
  <item>
    <term><see cref="P:Devart.Data.Oracle.OracleLoaderErrorEventArgs.Column" /></term>
    <description>Gets column where an error occurred.</description>
  </item>
  <item>
    <term><see cref="P:Devart.Data.Oracle.OracleLoaderErrorEventArgs.Row" /></term>
    <description>Gets row where an error occurred.</description>
  </item>
  <item>
    <term><see cref="P:Devart.Data.Oracle.OracleLoaderErrorEventArgs.Exception" /></term>
    <description>Gets <see cref="T:Devart.Data.Oracle.OracleException" /> object with error specific information.</description>
  </item>
  <item>
    <term><see cref="P:Devart.Data.Oracle.OracleLoaderErrorEventArgs.Ignore" /></term>
    <description>Specifies whether current error will be ignored.</description>
  </item>
</list>
<para>Clients that want to process errors raised by the server should create an <see cref="T:Devart.Data.Oracle.OracleLoaderErrorEventHandler" /> delegate to listen to this event.</para> </remarks>
      <keywords>OracleLoader.Error event </keywords>
    </member>
    <member name="M:Devart.Data.Oracle.OracleLoader.NextRow()">
      <summary>Advances <see cref="T:Devart.Data.Oracle.OracleLoader" /> to the next row. </summary>
      <remarks>Call this method after you put the row to the <see cref="T:Devart.Data.Oracle.OracleLoader" /> internal buffer. If <see cref="T:Devart.Data.Oracle.OracleLoader" /> rows buffer is full <see cref="M:Devart.Data.Oracle.OracleLoader.NextRow()" /> method flushes rows buffer to the loading table. </remarks>
      <keywords>OracleLoader.NextRow method </keywords>
    </member>
    <member name="M:Devart.Data.Oracle.OracleLoader.Open()">
      <summary>Prepares <see cref="T:Devart.Data.Oracle.OracleLoader" /> for the loading. </summary>
      <remarks>Use <see cref="M:Devart.Data.Oracle.OracleLoader.Open()" /> method to prepare internal <see cref="T:Devart.Data.Oracle.OracleLoader" /> structures for loading. If you do not call this method explicitly it will be called automatically. </remarks>
      <keywords>OracleLoader.Open method </keywords>
    </member>
    <member name="M:Devart.Data.Oracle.OracleLoader.SetDate(System.Int32,System.DateTime)">
      <summary>Sets the <see cref="T:System.DateTime" /> value of the column at the specified ordinal. </summary>
      <remarks>Use <see cref="M:Devart.Data.Oracle.OracleLoader.SetDate(System.Int32,System.DateTime)" /> method to set column with specific index in the current row to the <see cref="T:System.DateTime" /> value. </remarks>
      <keywords>OracleLoader.SetDate method </keywords>
      <param name="i">Zero-based index of the column. </param>
      <param name="value"><see cref="T:System.DateTime" /> value for the specified column. </param>
      <overloads>Sets the <see cref="T:System.DateTime" /> value of the column at the specified ordinal. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleLoader.SetDate(System.String,System.DateTime)">
      <summary>Sets the <see cref="T:System.DateTime" /> value of the column with the specified name. </summary>
      <remarks>Use <see cref="M:Devart.Data.Oracle.OracleLoader.SetDate(System.String,System.DateTime)" /> method to set column with specific name in the current row to the <see cref="T:System.DateTime" /> value. </remarks>
      <keywords>OracleLoader.SetDate method </keywords>
      <param name="name">The name of the column. </param>
      <param name="value"><see cref="T:System.DateTime" /> value for the specified column. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleLoader.SetDouble(System.Int32,System.Double)">
      <summary>Sets the double-precision floating point value of the column at the specified ordinal. </summary>
      <remarks>Use <see cref="M:Devart.Data.Oracle.OracleLoader.SetDouble(System.Int32,System.Double)" /> method to set column with specific index in the current row to the integer value. </remarks>
      <keywords>OracleLoader.SetDouble method </keywords>
      <param name="i">Zero-based index of the column. </param>
      <param name="value">Double-precision floating point value for the specified column. </param>
      <overloads>Sets the double-precision floating point value of the column at the specified ordinal. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleLoader.SetDouble(System.String,System.Double)">
      <summary>Sets the double-precision floating point value of the column with the specified name. </summary>
      <remarks>Use <see cref="M:Devart.Data.Oracle.OracleLoader.SetDouble(System.String,System.Double)" /> method to set column with specific name in the current row to the double-precision floating point value. </remarks>
      <keywords>OracleLoader.SetDouble method </keywords>
      <param name="name">The name of the column. </param>
      <param name="value">Double-precision floating point value for the specified column. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleLoader.SetInt(System.Int32,System.Int32)">
      <summary>Sets the integer value of the column at the specified ordinal. </summary>
      <remarks>Use <see cref="M:Devart.Data.Oracle.OracleLoader.SetInt(System.Int32,System.Int32)" /> method to set column with specific index in the current row to the integer value. </remarks>
      <keywords>OracleLoader.SetInt method </keywords>
      <param name="i">Zero-based index of the column. </param>
      <param name="value">Integer value for the specified column. </param>
      <overloads>Sets the integer value of the column at the specified ordinal. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleLoader.SetInt(System.String,System.Int32)">
      <summary>Sets the integer value of the column with the specified name. </summary>
      <remarks>Use <see cref="M:Devart.Data.Oracle.OracleLoader.SetInt(System.String,System.Int32)" /> method to set column with specific name in the current row to the integer value. </remarks>
      <keywords>OracleLoader.SetInt method </keywords>
      <param name="name">The name of the column. </param>
      <param name="value">Integer value for the specified column. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleLoader.SetNumber(System.Int32,Devart.Data.Oracle.OracleNumber)">
      <summary>Sets the number value of the column at the specified ordinal. </summary>
      <remarks>Use <see cref="M:Devart.Data.Oracle.OracleLoader.SetNumber(System.Int32,Devart.Data.Oracle.OracleNumber)" /> method to set column with specific index in the current row to the number value. </remarks>
      <keywords>OracleLoader.SetNumber method </keywords>
      <param name="i">Zero-based index of the column. </param>
      <param name="value"><see cref="T:Devart.Data.Oracle.OracleNumber" /> value for the specified column. </param>
      <overloads>Sets the number value of the column at the specified ordinal. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleLoader.SetNumber(System.String,Devart.Data.Oracle.OracleNumber)">
      <summary>Sets the number value of the column with the specified name. </summary>
      <remarks>Use <see cref="M:Devart.Data.Oracle.OracleLoader.SetNumber(System.String,Devart.Data.Oracle.OracleNumber)" /> method to set column with specific name in the current row to the number value. </remarks>
      <keywords>OracleLoader.SetNumber method </keywords>
      <param name="name">The name of the column. </param>
      <param name="value"><see cref="T:Devart.Data.Oracle.OracleNumber" /> value for the specified column. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleLoader.SetOracleObject(System.Int32,Devart.Data.Oracle.OracleObject)">
      <summary>Sets the <see cref="T:Devart.Data.Oracle.OracleObject" /> value of the column at the specified ordinal. </summary>
      <keywords>OracleLoader.SetOracleObject method </keywords>
      <param name="i">Zero-based index of the column. </param>
      <param name="value">An <see cref="T:Devart.Data.Oracle.OracleObject" /> value. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleLoader.SetString(System.Int32,System.String)">
      <summary>Sets the <see cref="T:System.String" /> value of the column at the specified ordinal. </summary>
      <remarks>Use <see cref="M:Devart.Data.Oracle.OracleLoader.SetString(System.Int32,System.String)" /> method to set column with specific index in the current row to the <see cref="T:System.String" /> value. </remarks>
      <keywords>OracleLoader.SetString method </keywords>
      <param name="i">Zero-based index of the column. </param>
      <param name="value"><see cref="T:System.String" /> value for the specified column. </param>
      <overloads>Sets the <see cref="T:System.String" /> value of the column at the specified ordinal. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleLoader.SetString(System.String,System.String)">
      <summary>Sets the <see cref="T:System.String" /> value of the column with the specified name. </summary>
      <remarks>Use <see cref="M:Devart.Data.Oracle.OracleLoader.SetString(System.String,System.String)" /> method to set column with specific name in the current row to the <see cref="T:System.String" /> value. </remarks>
      <keywords>OracleLoader.SetString method </keywords>
      <param name="name">The name of the column. </param>
      <param name="value"><see cref="T:System.String" /> value for the specified column. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleLoader.SetTimeStamp(System.Int32,Devart.Data.Oracle.OracleTimeStamp)">
      <summary>Sets the <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> value of the column at the specified ordinal. </summary>
      <remarks>Use <see cref="M:Devart.Data.Oracle.OracleLoader.SetTimeStamp(System.Int32,Devart.Data.Oracle.OracleTimeStamp)" /> method to set column with specific index in the current row to the <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> value. </remarks>
      <keywords>OracleLoader.SetTimeStamp method </keywords>
      <param name="i">Zero-based index of the column. </param>
      <param name="value"><see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> value for the specified column. </param>
      <overloads>Sets the <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> value of the column at the specified ordinal. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleLoader.SetTimeStamp(System.String,Devart.Data.Oracle.OracleTimeStamp)">
      <summary>Sets the <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> value of the column with the specified name. </summary>
      <remarks>Use <see cref="M:Devart.Data.Oracle.OracleLoader.SetTimeStamp(System.String,Devart.Data.Oracle.OracleTimeStamp)" /> method to set column with specific name in the current row to the <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> value. </remarks>
      <keywords>OracleLoader.SetTimeStamp method </keywords>
      <param name="name">The name of the column. </param>
      <param name="value"><see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> value for the specified column. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleLoader.SetValue(System.Int32,System.Object)">
      <summary>Sets the value of the column at the specified ordinal. </summary>
      <remarks>
        <para>Use <see cref="M:Devart.Data.Oracle.OracleLoader.SetValue(System.Int32,System.Object)" /> method to set column with specific index in the current row to the value. To assign a column NULL value use <see cref="M:Devart.Common.DbLoader.SetNull" /> method instead.</para>
        <para>The columns that you did not explicitly assign a value are considered to be NULL.</para> </remarks>
      <seealso cref="M:Devart.Common.DbLoader.SetNull" />
      <keywords>OracleLoader.SetValue method </keywords>
      <param name="i">Zero-based index of the column. </param>
      <param name="value">Column value. </param>
      <overloads>Sets the value of the column at the specified ordinal and name. </overloads>
    </member>
    <member name="P:Devart.Data.Oracle.OracleLoader.TableName">
      <summary>Gets or sets table name that will be loaded. </summary>
      <remarks>
        <see cref="P:Devart.Data.Oracle.OracleLoader.TableName" /> property must be specified before beginning of loading data. </remarks>
      <seealso cref="M:Devart.Data.Oracle.OracleLoader.SetValue" />
      <keywords>OracleLoader.TableName property </keywords>
      <value>Name of the table that will be loaded. </value>
    </member>
    <member name="T:Devart.Data.Oracle.OracleLoaderColumn">
      <summary>Represents the attributes for column loading. </summary>
      <remarks>
        <para>Each <see cref="T:Devart.Data.Oracle.OracleLoader" /> uses a <see cref="P:Devart.Data.Oracle.OracleLoader.Columns" /> to maintain a collection of <see cref="T:Devart.Data.Oracle.OracleLoaderColumn" /> objects. The <see cref="T:Devart.Data.Oracle.OracleLoaderColumn" /> object represents the attributes for column loading. Every <see cref="T:Devart.Data.Oracle.OracleLoaderColumn" /> object corresponds to one of the table fields with the same name as its <see cref="P:Devart.Common.DbLoaderColumn.Name" /> property.</para>
        <para>You can manually make changes to the <see cref="P:Devart.Data.Oracle.OracleLoader.Columns" /> collection to exclude some columns from INSERT statement generated by <see cref="T:Devart.Data.Oracle.OracleLoader" /> object.</para>

<para>Note: This class is available with dotConnect for Oracle Professional edition only.</para> </remarks>
      <example>This sample shows how to perform loading of data into a table with the last column set to default value. <code lang="csharp">public void LoadData(OracleConnection myConnection)
{
  myConnection.Open();
  OracleLoader loader = new OracleLoader();
  loader.Connection = myConnection;
  loader.TableName = "load_table";
  try
  {
    loader.CreateColumns();
    //Do not insert data in the last column
    loader.Columns.RemoveAt(loader.Columns.Count-1);
    loader.Open();
    for (int i = 1; i &lt;= 100; i++)
    {
      loader.SetValue("id", i);
      loader.SetValue(1, "test string");
      loader.SetValue("date_field", DateTime.Now);
      loader.NextRow();
    }
    loader.Close();
  }
  finally
  {
    myConnection.Close();
  }
} </code><code lang="vb">Public Sub LoadData(ByVal myConnection As OracleConnection)
  myConnection.Open()
  Dim loader As OracleLoader
  loader = New OracleLoader
  loader.Connection = myConnection
  loader.TableName = "load_table"
  Try
    loader.CreateColumns()
    ' Do not insert data in the last column
    loader.Columns.RemoveAt(loader.Columns.Count - 1)
    loader.Open()
    Dim i As Integer
    For i = 1 To 100
      loader.SetValue("id", i)
      loader.SetValue(1, "test string")
      loader.SetValue("date_field", DateTime.Now)
      loader.NextRow()
    Next i
    loader.Close()
  Finally
    myConnection.Close()
  End Try
End Sub </code></example>
    </member>
    <member name="M:Devart.Data.Oracle.OracleLoaderColumn.#ctor()">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleLoaderColumn" /> class. </summary>
      <remarks>Use this constructor to create an <see cref="T:Devart.Data.Oracle.OracleLoaderColumn" /> instance </remarks>
      <overloads>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleLoaderColumn" /> class. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleLoaderColumn.#ctor(System.String,Devart.Data.Oracle.OracleDbType)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleLoaderColumn" /> class with the column name and column data type. </summary>
      <remarks>Use this constructor to create a <see cref="T:Devart.Data.Oracle.OracleLoaderColumn" /> instance with column name and column data type. </remarks>
      <example>The following example creates a <see cref="T:Devart.Data.Oracle.OracleLoaderColumn" /> and sets some of its properties. <code lang="csharp">public void CreateMyLoaderColumn()
{
  OracleLoaderColumn column = new OracleLoaderColumn("DName", OracleDbType.VarChar);
  column.Size = 15;
} </code><code lang="vb">Public Sub CreateMyLoaderColumn()
  Dim column As OracleLoaderColumn
  column = New OracleLoaderColumn("DName", OracleDbType.VarChar)
  column.Size = 15
End Sub </code></example>
      <param name="name">The name of the column. </param>
      <param name="dbType"> </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleLoaderColumn.#ctor(System.String,Devart.Data.Oracle.OracleDbType,System.Int32)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleLoaderColumn" /> class with the column name, column data type and column size. </summary>
      <remarks>Use this constructor to create a <see cref="T:Devart.Data.Oracle.OracleLoaderColumn" /> instance with column name, column data type and column data size. </remarks>
      <example>The following example creates a <see cref="T:Devart.Data.Oracle.OracleLoaderColumn" /> and sets some of its properties. <code lang="csharp">public void CreateMyLoaderColumn(OracleLoader loader)
{
  ...
  OracleLoaderColumn column = new OracleLoaderColumn("dname", OracleDbType.VarChar, 25);
  loader.Add(column);
  ...
} </code><code lang="vb">Public Sub CreateMyLoaderColumn(loader as OracleLoader)
  ...
  Dim column as OracleLoaderColumn = new OracleLoaderColumn("dname", OracleDbType.VarChar, 25)
  loader.Add(column)
  ...
End Sub </code></example>
      <param name="name">The name of the column. </param>
      <param name="dbType">One of the <see cref="T:Devart.Data.Oracle.OracleDbType" /> values. </param>
      <param name="size">Maximum size of column data (only for strings). </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleLoaderColumn.#ctor(System.String,Devart.Data.Oracle.OracleDbType,System.Int32,System.Int32,System.Int32)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleLoaderColumn" /> class with the column name, column data type, column size, precision and scale. </summary>
      <remarks>Use this constructor to create a <see cref="T:Devart.Data.Oracle.OracleLoaderColumn" /> instance with custom column name, data type, data size, precision and scale. </remarks>
      <example>The following example creates a <see cref="T:Devart.Data.Oracle.OracleLoaderColumn" /> and sets some of its properties. <code lang="csharp">public void CreateMyLoaderColumn(OracleLoader loader)
{
  ...
  OracleLoaderColumn column = new OracleLoaderColumn("deptno", OracleDbType.Integer, 0, 6, 0);
  loader.Add(column);
  ...
} </code><code lang="vb">Public Sub CreateMyLoaderColumn(loader as OracleLoader)
  ...
  Dim column as OracleLoaderColumn = new OracleLoaderColumn("deptno", OracleDbType.Integer, 0, 6, 0)
  loader.Add(column)
  ...
End Sub </code></example>
      <param name="name">The name of the column. </param>
      <param name="dbType">One of the <see cref="T:Devart.Data.Oracle.OracleDbType" /> values. </param>
      <param name="size">Maximum size of column data. </param>
      <param name="precision">The precision of the column. </param>
      <param name="scale">The scale of the column. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleLoaderColumn.#ctor(System.String,Devart.Data.Oracle.OracleDbType,System.Int32,System.Int32,System.Int32,System.String)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleLoaderColumn" /> class with the column name, column data type, column size, precision, scale and date format. </summary>
      <remarks>Use this constructor to create a <see cref="T:Devart.Data.Oracle.OracleLoaderColumn" /> instance with custom column name, data type, data size, precision and scale. </remarks>
      <param name="name">The name of the column. </param>
      <param name="dbType">One of the <see cref="T:Devart.Data.Oracle.OracleDbType" /> values. </param>
      <param name="size">Maximum size of column data. </param>
      <param name="precision">The precision of the column. </param>
      <param name="scale">The scale of the column. </param>
      <param name="dateFormat">Date format for the column. </param>
    </member>
    <member name="P:Devart.Data.Oracle.OracleLoaderColumn.DateFormat">
      <summary>Gets or sets date format of the <see cref="T:Devart.Data.Oracle.OracleLoaderColumn" />. </summary>
      <remarks>Set <see cref="P:Devart.Data.Oracle.OracleLoaderColumn.DateFormat" /> property to specify conversion mask for the column. <see cref="T:Devart.Data.Oracle.OracleLoader" /> uses <see cref="P:Devart.Data.Oracle.OracleLoaderColumn.DateFormat" /> to convert string representation of date to it internal representation. If not set, the date format defaults to the date conversion mask set in the direct path context.
<para>Format string must use Oracle datetime format model. For example, format string 'DD-MON-RR' will correspond to '27-OCT-89' date string representation.</para> </remarks>
      <example>The following example creates an <see cref="T:Devart.Data.Oracle.OracleLoaderColumn" /> and sets <see cref="P:Devart.Data.Oracle.OracleLoaderColumn.DateFormat" /> property. <code lang="csharp">public void CreateOraLoaderColumn(OracleLoader loader)
{
  ...
  OracleLoaderColumn column = new OracleLoaderColumn("hiredate", OracleDbType.Date);
  column.DateFormat = "DD-MON-YYYY";
  ...
} </code><code lang="vb">Public Sub CreateOraLoaderColumn(loader as OracleLoader)
  ...
  Dim column As OracleLoaderColumn = new OracleLoaderColumn("hiredate", OracleDbType.Date)
  column.DateFormat = "DD-MON-YYYY"
  ...
End Sub 'CreateOraLoaderColumn </code></example>
      <keywords>OracleLoaderColumn.DateFormat property </keywords>
      <value>The date format into which loaded data will be converted. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleLoaderColumn.ObjectTypeName">
      <summary>Gets or sets the name of the user-defined type. </summary>
      <keywords>OracleLoaderColumn.ObjectTypeName property </keywords>
      <value>The name of the user-defined type. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleLoaderColumn.OracleDbType">
      <summary>Gets or sets the <see cref="T:Devart.Data.Oracle.OracleDbType" /> of the column. </summary>
      <remarks>Use <see cref="P:Devart.Data.Oracle.OracleLoaderColumn.OracleDbType" /> property to specify Oracle data type for the column. </remarks>
      <example> <code lang="csharp">public void GetDataColumns(OracleConnection myConnection)
{
  myConnection.Open();
  OracleLoader loader = new OracleLoader();
  loader.Connection = myConnection;
  loader.TableName = "load_table";
  OracleLoaderColumn myColumn;
  try
  {
    loader.CreateColumns();
    for (int i = 0; i &lt; loader.Columns.Count; i++)
    {
      myColumn = loader.Columns[i];
      Console.WriteLine(myColumn.Name);
      Console.WriteLine(myColumn.OracleDbType.ToString());
      Console.WriteLine(myColumn.Size);
      Console.WriteLine(myColumn.Scale);
      Console.WriteLine(myColumn.Precision);
      Console.WriteLine();
    }
   }
  finally
  {
    myConnection.Close();
  }
} </code><code lang="vb">Public Sub GetDataColumns(ByVal myConnection As OracleConnection)
  myConnection.Open()
  Dim loader As OracleLoader
  loader = New OracleLoader
  loader.Connection = myConnection
  loader.TableName = "load_table"
  Dim myColumn As OracleLoaderColumn
  Try
    loader.CreateColumns()
    Dim i As Integer
    For i = 0 To loader.Columns.Count - 1
      myColumn = loader.Columns(i)
      Console.WriteLine(myColumn.Name)
      Console.WriteLine(myColumn.OracleDbType.ToString())
      Console.WriteLine(myColumn.Size)
      Console.WriteLine(myColumn.Scale)
      Console.WriteLine(myColumn.Precision)
      Console.WriteLine()
    Next i
  Finally
    myConnection.Close()
  End Try
End Sub </code></example>
      <seealso cref="M:Devart.Data.Oracle.OracleLoader.CreateColumns" />
      <keywords>OracleLoaderColumn.OracleDbType property </keywords>
      <value>A <see cref="T:Devart.Data.Oracle.OracleDbType" /> value of the column. The default value is <see cref="T:Devart.Data.Oracle.OracleDbType">OracleDbType.VarChar</see>. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleLoaderColumn.Precision">
      <summary>Gets or sets precision of values within the column. </summary>
      <remarks>Use <see cref="P:Devart.Data.Oracle.OracleLoaderColumn.Precision" /> property to set precision of values for the column. <see cref="P:Devart.Data.Oracle.OracleLoaderColumn.Precision" /> is used only for numeric columns. </remarks>
      <keywords>OracleLoaderColumn.Precision property </keywords>
      <value>Precision of the data within the column. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleLoaderColumn.Size">
      <summary>Gets or sets the maximum size, in bytes, of the data within the column. </summary>
      <remarks>Use <see cref="P:Devart.Data.Oracle.OracleLoaderColumn.Size" /> property to set maximum size in bytes of data for the column. <see cref="P:Devart.Data.Oracle.OracleLoaderColumn.Size" /> is used only for string columns. </remarks>
      <example> <code lang="csharp">public void GetDataColumns(OracleConnection myConnection)
{
  myConnection.Open();
  OracleLoader loader = new OracleLoader();
  loader.Connection = myConnection;
  loader.TableName = "load_table";
  OracleLoaderColumn myColumn;
  try
  {
    loader.CreateColumns();
    for (int i = 0; i &lt; loader.Columns.Count; i++)
    {
      myColumn = loader.Columns[i];
      Console.WriteLine(myColumn.Name);
      Console.WriteLine(myColumn.OracleDbType.ToString());
      Console.WriteLine(myColumn.Size);
      Console.WriteLine(myColumn.Scale);
      Console.WriteLine(myColumn.Precision);
      Console.WriteLine();
    }
   }
  finally
  {
    myConnection.Close();
  }
} </code><code lang="vb">Public Sub GetDataColumns(ByVal myConnection As OracleConnection)
  myConnection.Open()
  Dim loader As OracleLoader
  loader = New OracleLoader
  loader.Connection = myConnection
  loader.TableName = "load_table"
  Dim myColumn As OracleLoaderColumn
  Try
    loader.CreateColumns()
    Dim i As Integer
    For i = 0 To loader.Columns.Count - 1
      myColumn = loader.Columns(i)
      Console.WriteLine(myColumn.Name)
      Console.WriteLine(myColumn.OracleDbType.ToString())
      Console.WriteLine(myColumn.Size)
      Console.WriteLine(myColumn.Scale)
      Console.WriteLine(myColumn.Precision)
      Console.WriteLine()
    Next i
  Finally
    myConnection.Close()
  End Try
End Sub </code></example>
      <seealso cref="M:Devart.Data.Oracle.OracleLoader.CreateColumns" />
      <keywords>OracleLoaderColumn.Size property </keywords>
      <value>The maximum size, in bytes, of the data within the column. </value>
    </member>
    <member name="T:Devart.Data.Oracle.OracleLoaderColumnCollection">
      <summary>Represents a collection of columns relevant to a <see cref="T:Devart.Data.Oracle.OracleLoader" />. </summary>
      <remarks>Use <see cref="T:Devart.Data.Oracle.OracleLoaderColumnCollection" /> class to add or remove columns that will be loaded. Order and number of columns in the collection must be equal to the order and number of columns in the loaded table.

<para>Note: This class is available with dotConnect for Oracle Professional edition only.</para> </remarks>
      <example>Following example displays all loader columns. <code lang="csharp">public void DisplayColumns(string tableName, OracleConnection conn) {

  // Create loader instance
  OracleLoader loader = new OracleLoader();

  // Set up working connection
  // Connection must be opened
  loader.Connection = conn;

  // Set up table name for loading
  loader.TableName = tableName;

  // Create column collection for loading table
  loader.CreateColumns();

  // Iterate through column collection
  foreach (OracleLoaderColumn column in loader.Columns)
    Console.WriteLine(column.Name);
} </code><code lang="vb">Public Sub DisplayColumns(tableName as string, conn as OracleConnection)

  ' Create loader instance
  Dim loader as OracleLoader = new OracleLoader()

  ' Set up working connection
  ' Connection must be opened
  loader.Connection = conn

  ' Set up table name for loading
  loader.TableName = tableName

  ' Create column collection for loading table
  loader.CreateColumns()

  ' Iterate through column collection
  Dim column as OracleLoaderColumn
  For Each column in loader.Columns
    Console.WriteLine(column.Name)
  Next
End Sub </code></example>
      <seealso cref="T:Devart.Data.Oracle.OracleLoader" />
    </member>
    <member name="M:Devart.Data.Oracle.OracleLoaderColumnCollection.#ctor()">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleLoaderColumnCollection" /> class. </summary>
      <remarks>The base constructor initializes all fields to their default values. </remarks>
    </member>
    <member name="M:Devart.Data.Oracle.OracleLoaderColumnCollection.Add(System.String,Devart.Data.Oracle.OracleDbType,System.Int32,System.Int32,System.Int32,System.String)">
      <summary>Adds an <see cref="T:Devart.Data.Oracle.OracleLoaderColumn" /> to the <see cref="T:Devart.Data.Oracle.OracleCommand" /> given the column name, column data type, column size, precision, scale and date format. </summary>
      <keywords>OracleLoaderColumnCollection.Add method </keywords>
      <param name="name">The name of the column. </param>
      <param name="dbType">One of the <see cref="T:Devart.Data.Oracle.OracleDbType" /> values. </param>
      <param name="size">Maximum size of the column data (only for strings). </param>
      <param name="precision">The precision of the column. </param>
      <param name="scale">The scale of the column. </param>
      <param name="dateFormat">The date format of the column. </param>
      <returns>The new <see cref="T:Devart.Data.Oracle.OracleLoaderColumn" /> object. </returns>
      <overloads>Adds the specified <see cref="T:Devart.Data.Oracle.OracleLoaderColumn" /> to the <see cref="T:Devart.Data.Oracle.OracleLoaderColumnCollection" />. </overloads>
    </member>
    <member name="P:Devart.Data.Oracle.OracleLoaderColumnCollection.Item(System.Int32)">
      <summary>Gets or sets the <see cref="T:Devart.Data.Oracle.OracleLoaderColumn" /> at the specified index. </summary>
      <keywords>OracleLoaderColumnCollection.Item property </keywords>
      <param name="index">The zero-based index of the column. </param>
      <value>The <see cref="T:Devart.Data.Oracle.OracleLoaderColumn" /> at the specified index. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleLoaderColumnCollection.Item(System.String)">
      <summary>Gets or sets the <see cref="T:Devart.Data.Oracle.OracleLoaderColumn" /> with the specified name. </summary>
      <keywords>OracleLoaderColumnCollection.Item property </keywords>
      <param name="name">The name of the column. </param>
      <value>The <see cref="T:Devart.Data.Oracle.OracleLoaderColumn" /> with the specified name. </value>
    </member>
    <member name="T:Devart.Data.Oracle.OracleLoaderErrorEventArgs">
      <summary>Provides data for the <see cref="E:Devart.Data.Oracle.OracleLoader.Error" /> event of the <see cref="T:Devart.Data.Oracle.OracleLoader" /> class. </summary>
      <remarks>The <see cref="E:Devart.Data.Oracle.OracleLoader.Error" /> event contains all information about an error and properties that allow to ignore the error or throw an exception.

<para>Note: This class is available with dotConnect for Oracle Professional edition only.</para> </remarks>
    </member>
    <member name="P:Devart.Data.Oracle.OracleLoaderErrorEventArgs.Column">
      <summary>Gets column number where an error occurred. </summary>
      <remarks>Use <see cref="P:Devart.Data.Oracle.OracleLoaderErrorEventArgs.Column" /> property to determine the column where an error occurred. </remarks>
      <keywords>OracleLoaderErrorEventArgs.Column property </keywords>
      <value>Number of the column with the error. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleLoaderErrorEventArgs.Exception">
      <summary>Gets the <see cref="T:Devart.Data.Oracle.OracleException" /> instance that an <see cref="T:Devart.Data.Oracle.OracleLoader" /> throws. </summary>
      <remarks>If set the <see cref="P:Devart.Data.Oracle.OracleLoaderErrorEventArgs.Exception" /> property in <see cref="E:Devart.Data.Oracle.OracleLoader.Error" /> event handler to <see langword="false" />, <see cref="T:Devart.Data.Oracle.OracleLoader" /> throws this <see cref="T:Devart.Data.Oracle.OracleException" /> instance. </remarks>
      <keywords>OracleLoaderErrorEventArgs.Exception property </keywords>
      <value>An <see cref="T:Devart.Data.Oracle.OracleException" /> instance that contains information specific to the <see cref="T:Devart.Data.Oracle.OracleLoader" /> error. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleLoaderErrorEventArgs.Ignore">
      <summary>Gets or sets whether the current error will be ignored or not. </summary>
      <remarks>You may use <see cref="P:Devart.Data.Oracle.OracleLoaderErrorEventArgs.Ignore" /> property to ignore all or some errors during table loading. </remarks>
      <keywords>OracleLoaderErrorEventArgs.Ignore property </keywords>
      <value>If the value is <see langword="true" /> current error will be ignored, otherwise an exception will be thrown. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleLoaderErrorEventArgs.Row">
      <summary>Gets row number where an error occurred. </summary>
      <remarks>Use <see cref="P:Devart.Data.Oracle.OracleLoaderErrorEventArgs.Row" /> property to determine the row where an error occurred. </remarks>
      <keywords>OracleLoaderErrorEventArgs.Row property </keywords>
      <value>Number of the row with the error. </value>
    </member>
    <member name="T:Devart.Data.Oracle.OracleLoaderErrorEventHandler">
      <summary>Represents the method that will handle the <see cref="E:Devart.Data.Oracle.OracleLoader.Error" /> event of an <see cref="T:Devart.Data.Oracle.OracleLoader" />. </summary>
      <remarks>When you create an <see cref="T:Devart.Data.Oracle.OracleLoaderErrorEventHandler" /> delegate, you identify the method that will handle the event. To associate the event with your event handler, add an instance of the delegate to the event. The event handler is called whenever the event occurs, unless you remove the delegate. For more information about event handler delegates, see "Events and Delegates" in the .NET Framework SDK documentation.
<para>Note: This delegate is available with dotConnect for Oracle Professional edition only.</para> </remarks>
      <keywords>OracleLoaderErrorEventHandler delegate </keywords>
      <param name="sender">The source of the event. </param>
      <param name="e">An <see cref="T:Devart.Data.Oracle.OracleLoaderErrorEventArgs" /> object that contains the event data. </param>
    </member>
    <member name="T:Devart.Data.Oracle.OracleLob">
      <summary>Represents LOB data type stored on an Oracle server. </summary>
      <remarks>An <see cref="T:Devart.Data.Oracle.OracleLob" /> differs from an <see cref="T:Devart.Data.Oracle.OracleBFile" /> in that data is stored on the server instead of in the physical file in the operating system. It also supports writing, unlike an <see cref="T:Devart.Data.Oracle.OracleBFile" />, which is always read-only.
<para>An <see cref="T:Devart.Data.Oracle.OracleLob" /> may be one of these <see cref="T:Devart.Data.Oracle.OracleDbType" /> data types:</para>
<list type="table">
  <listheader>
    <term>OracleDBType data type</term>
    <description>Description</description>
  </listheader>
  <item>
    <term><see cref="T:Devart.Data.Oracle.OracleDbType" />.Blob</term>
    <description>A variable-length stream of binary data.</description>
  </item>
  <item>
    <term><see cref="T:Devart.Data.Oracle.OracleDbType" />.BFile</term>
    <description>A reference to the physical file in the operating system where Oracle is installed.</description>
  </item>
  <item>
    <term><see cref="T:Devart.Data.Oracle.OracleDbType" />.Clob</term>
    <description>A variable-length stream (single-byte and multibyte character data).</description>
   </item>
   <item>
     <term><see cref="T:Devart.Data.Oracle.OracleDbType" />.NClob</term>
     <description>National character data of variable length.</description>
   </item>
</list>

<para>To read data use <see cref="M:Devart.Data.Oracle.OracleLob.Read" /> and <see cref="M:Devart.Data.Oracle.OracleLob.Seek" /> methods.</para> </remarks>
      <example><para><para>In this example two functions are presented. First can upload a file onto a server, and second can retrieve a LOB field and paste it into a file. Notice that two classes used here (BinaryWriter and BinaryReader) to provide more flexible stream manipulation are actually redundant for simple data transfer operations.</para>
</para>
<para>The following table is used for the sample:</para>
<pre>CREATE TABLE Pictures (
  ID NUMBER(4) NOT NULL PRIMARY KEY,
  PicName VARCHAR2(50),
  Picture BLOB
)</pre> <code lang="csharp">public void DownloadBlob(OracleConnection myConnection)
{
  OracleCommand myCommand = new OracleCommand("SELECT * FROM Pictures", myConnection);
  myConnection.Open();
  OracleDataReader myReader = myCommand.ExecuteReader(System.Data.CommandBehavior.Default);
  try
  {
    while (myReader.Read())
    {
      OracleLob myLob = myReader.GetOracleLob(myReader.GetOrdinal("Picture"));
      if (!myLob.IsNull)
      {
        string FN = myReader.GetString(myReader.GetOrdinal("PicName"));
        FileStream fs = new FileStream("D:\\Tmp\\" + FN + ".bmp", FileMode.Create);
        BinaryWriter w = new BinaryWriter(fs);
        w.Write((byte[])myLob.Value);
        w.Close();
        fs.Close();
        Console.WriteLine(FN + " downloaded.");
      }
    }
  }
  finally
  {
    myReader.Close();
    myConnection.Close();
  }
}

public void UploadBlob(OracleConnection myConnection)
{
  FileStream fs = new FileStream("D:\\Tmp\\_Water.bmp", FileMode.Open, FileAccess.Read);
  BinaryReader r = new BinaryReader(fs);
  myConnection.Open();
  OracleLob myLob = new OracleLob(myConnection,OracleDbType.Blob);
  int streamLength = (int)fs.Length;
  myLob.Write(r.ReadBytes(streamLength), 0, streamLength);
  OracleCommand myCommand = new OracleCommand("INSERT INTO Pictures (ID, PicName, Picture) VALUES(1,'Water',:Pictures)", myConnection);
  OracleParameter myParam = myCommand.Parameters.Add("Pictures", OracleDbType.Blob);
  myParam.OracleValue = myLob;
  try
  {
    Console.WriteLine(myCommand.ExecuteNonQuery() + " rows affected.");
  }
  finally
  {
    myConnection.Close();
    r.Close();
    fs.Close();
  }
} </code><code lang="vb">Public Sub DownloadBlob(ByVal myConnection As OracleConnection)
  Dim myCommand As New OracleCommand("SELECT * FROM Pictures", myConnection)
  myConnection.Open()
  Dim myReader As OracleDataReader = myCommand.ExecuteReader(System.Data.CommandBehavior.Default)
  Try
    While myReader.Read()
      Dim myLob As OracleLob = myReader.GetOracleLob(myReader.GetOrdinal("Picture"))
      If Not myLob.IsNull Then
        Dim FN As String = myReader.GetString(myReader.GetOrdinal("PicName"))
        Dim fs As FileStream = New FileStream("D:\Tmp\" + FN + ".bmp", FileMode.Create)
        Dim w As BinaryWriter = New BinaryWriter(fs)
        w.Write(myLob.Value)
        w.Close()
        fs.Close()
        Console.WriteLine(String.Concat(FN, " downloaded."))
      End If
    End While
  Finally
    myReader.Close()
    myConnection.Close()
  End Try
End Sub

Public Sub UploadBlob(ByVal myConnection As OracleConnection)
  Dim fs As FileStream = New FileStream("D:\Tmp\_Water.bmp", FileMode.Open, FileAccess.Read)
  Dim r As BinaryReader = New BinaryReader(fs)
  myConnection.Open()
  Dim myLob As OracleLob = New OracleLob(myConnection, OracleDbType.Blob)
  Dim streamLength As Int32 = fs.Length
  myLob.Write(r.ReadBytes(streamLength), 0, streamLength)
  Dim myCommand As OracleCommand = New OracleCommand("INSERT INTO Pictures (ID, PicName, Picture) VALUES(1,'Water',:Pictures)", myConnection)
  Dim myParam As OracleParameter = myCommand.Parameters.Add("Pictures", OracleDbType.Blob)
  myParam.OracleValue = myLob
  Try
    Console.WriteLine(myCommand.ExecuteNonQuery() &amp; " rows affected.")
  Finally
    myConnection.Close()
    r.Close()
    fs.Close()
  End Try
End Sub </code></example>
    </member>
    <member name="M:Devart.Data.Oracle.OracleLob.#ctor(Devart.Data.Oracle.OracleConnection,Devart.Data.Oracle.OracleDbType)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleLob" /> class with the specified <see cref="T:Devart.Data.Oracle.OracleConnection" /> and Oracle LOB type. </summary>
      <remarks>The connection must be opened explicitly by the application. <see cref="T:Devart.Data.Oracle.OracleLob" /> object does not open the connection implicitly. </remarks>
      <param name="connection">The <see cref="T:Devart.Data.Oracle.OracleConnection" /> object. </param>
      <param name="lobType">One of the <see cref="T:Devart.Data.Oracle.OracleDbType" /> values. May be <see cref="T:Devart.Data.Oracle.OracleDbType" />.Blob, <see cref="T:Devart.Data.Oracle.OracleDbType" />.BFile, <see cref="T:Devart.Data.Oracle.OracleDbType" />.Clob, or <see cref="T:Devart.Data.Oracle.OracleDbType" />.NClob. </param>
      <overloads>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleLob" /> class. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleLob.#ctor(Devart.Data.Oracle.OracleConnection,Devart.Data.Oracle.OracleDbType,System.Boolean)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleLob" /> class with the specified <see cref="T:Devart.Data.Oracle.OracleConnection" /> and Oracle LOB type. </summary>
      <remarks>The connection must be opened explicitly by the application. <see cref="T:Devart.Data.Oracle.OracleLob" /> object does not open the connection implicitly. </remarks>
      <param name="connection">The <see cref="T:Devart.Data.Oracle.OracleConnection" /> object. </param>
      <param name="lobType">One of the <see cref="T:Devart.Data.Oracle.OracleDbType" /> values. May be <see cref="T:Devart.Data.Oracle.OracleDbType" />.Blob, <see cref="T:Devart.Data.Oracle.OracleDbType" />.BFile, <see cref="T:Devart.Data.Oracle.OracleDbType" />.Clob, or <see cref="T:Devart.Data.Oracle.OracleDbType" />.NClob. </param>
      <param name="isCaching"><see langword="true" /> if the <see cref="T:Devart.Data.Oracle.OracleLob" /> should be read into the cache; otherwise, <see langword="false" />. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleLob.#ctor(Devart.Data.Oracle.OracleDbType)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleLob" /> class with the specified Oracle LOB type. </summary>
      <param name="lobType">One of the <see cref="T:Devart.Data.Oracle.OracleDbType" /> values. May be <see cref="T:Devart.Data.Oracle.OracleDbType" />.Blob, <see cref="T:Devart.Data.Oracle.OracleDbType" />.BFile, <see cref="T:Devart.Data.Oracle.OracleDbType" />.Clob, or <see cref="T:Devart.Data.Oracle.OracleDbType" />.NClob. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleLob.Append(Devart.Data.Oracle.OracleLob)">
      <summary>Appends the supplied data to the current <see cref="T:Devart.Data.Oracle.OracleLob" /> instance. </summary>
      <remarks>To write to the <see cref="T:Devart.Data.Oracle.OracleLob" /> you must have a local transaction started.
<para>All data from the source <see cref="T:Devart.Data.Oracle.OracleLob" /> is appended to the end of the current <see cref="T:Devart.Data.Oracle.OracleLob" />. </para> </remarks>
      <keywords>OracleLob.Append method </keywords>
      <param name="source">Lob data to add. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleLob.BeginBatch()">
      <summary>Prevents server-side triggers from firing while performing multiple write operations. </summary>
      <remarks>To write to the <see cref="T:Devart.Data.Oracle.OracleLob" /> you must have a local transaction started.
<para>If you call <see cref="M:Devart.Data.Oracle.OracleLob.BeginBatch()" /> more than one time within the same transaction Oracle throws an error.</para> </remarks>
      <keywords>OracleLob.BeginBatch method </keywords>
      <overloads>Prevents server-side triggers from firing while performing multiple write operations. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleLob.BeginBatch(Devart.Data.Oracle.OracleLobOpenMode)">
      <summary>Prevents server-side triggers from firing while performing multiple write operations, and specifies one of the <see cref="T:Devart.Data.Oracle.OracleLobOpenMode" /> values. </summary>
      <remarks>To write to the <see cref="T:Devart.Data.Oracle.OracleLob" /> you must have a local transaction started.
<para>If you call <see cref="M:Devart.Data.Oracle.OracleLob.BeginBatch(Devart.Data.Oracle.OracleLobOpenMode)" /> more than one time within the same transaction Oracle throws an error.</para> </remarks>
      <keywords>OracleLob.BeginBatch method </keywords>
      <param name="openMode">One of the <see cref="T:Devart.Data.Oracle.OracleLobOpenMode" /> values. </param>
    </member>
    <member name="P:Devart.Data.Oracle.OracleLob.Cached">
      <summary>Specifies whether the <see cref="T:Devart.Data.Oracle.OracleLob" /> is cached. </summary>
      <keywords>OracleLob.Cached property </keywords>
      <value><see langword="true" /> if entire <see cref="T:Devart.Data.Oracle.OracleLob" /> is cached in the memory; otherwise, <see langword="false" />. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleLob.CanRead">
      <summary>Gets a value indicating whether the OracleLob stream can be read. </summary>
      <remarks>Use <see cref="P:Devart.Data.Oracle.OracleLob.CanRead" /> property to determine whether <see cref="T:Devart.Data.Oracle.OracleLob" /> object supports reading. <see cref="T:Devart.Data.Oracle.OracleLob" /> can not be read from if it has <see cref="F:Devart.Data.Oracle.OracleLob.Null" /> value. </remarks>
      <example> <code lang="csharp">static void ReverseBlob() 
{ 
	byte[] byteArray = { (byte)'A', (byte)'B', (byte)'C' }; 
	OracleLob blobFrom = new OracleLob(OracleDbType.Blob);
	blobFrom.Write(byteArray, 0, byteArray.Length);
	//blobFrom.ToString() = "ABC" 

	OracleLob blobTo = new OracleLob(OracleDbType.Blob); 
	........
	//reverse OracleLob 
	if (blobFrom.CanSeek &amp;&amp; blobFrom.CanRead &amp;&amp; blobTo.CanWrite) 
		for (blobFrom.Seek(-1, System.IO.SeekOrigin.End); ;blobFrom.Position -= 2) 
		{ 
			blobTo.WriteByte((byte)blobFrom.ReadByte()); 
			if (blobFrom.Position == 1) break; 
		} 
	//blobTo.ToString() = "CBA"; 
} </code><code lang="vb">Private Sub ReverseBlob()
	Dim byteArray As Byte() = New Byte() {AscW("A"c), AscW("B"c), AscW("C"c)}
	Dim blobFrom As New OracleLob(OracleDbType.Blob)
	blobFrom.Write(byteArray, 0, byteArray.Length)
	' blobFrom.ToString() = "ABC"

	Dim blobTo As New OracleLob(OracleDbType.Blob)
	........
	' reverse OracleLob
	If ((blobFrom.CanSeek AndAlso blobFrom.CanRead) AndAlso blobTo.CanWrite) Then
		blobFrom.Seek(CLng(-1), System.IO.SeekOrigin.End)
		Do While True
			blobTo.WriteByte(CByte(blobFrom.ReadByte))
			If (blobFrom.Position = 1) Then
				Return
			End If
			blobFrom.Position = blobFrom.Position - 2
		Loop
	End If
	' blobTo.ToString() = "CBA";
End Sub </code></example>
      <keywords>OracleLob.CanRead property </keywords>
      <value><see langword="true" /> if the <see cref="T:Devart.Data.Oracle.OracleLob" /> stream supports reading; <see langword="false" /> if a <see cref="T:Devart.Data.Oracle.OracleLob" /> is closed, disposed, or <see cref="F:Devart.Data.Oracle.OracleLob.Null" />. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleLob.CanSeek">
      <summary>Gets a value indicating whether forward and backward seek operations can be performed. </summary>
      <remarks>Use this property to find out if a <see cref="T:Devart.Data.Oracle.OracleLob" /> supports <see cref="M:Devart.Data.Oracle.OracleLob.Seek" /> operation. <see cref="T:Devart.Data.Oracle.OracleLob" /> does not support seeking if it has <see cref="F:Devart.Data.Oracle.OracleLob.Null" /> value as well as if it has been disposed or closed. </remarks>
      <example> <code lang="csharp">static void ReverseBlob() 
{ 
	byte[] byteArray = { (byte)'A', (byte)'B', (byte)'C' }; 
	OracleLob blobFrom = new OracleLob(OracleDbType.Blob);
	blobFrom.Write(byteArray, 0, byteArray.Length);
	//blobFrom.ToString() = "ABC" 

	OracleLob blobTo = new OracleLob(OracleDbType.Blob); 
	........
	//reverse OracleLob 
	if (blobFrom.CanSeek &amp;&amp; blobFrom.CanRead &amp;&amp; blobTo.CanWrite) 
		for (blobFrom.Seek(-1, System.IO.SeekOrigin.End); ;blobFrom.Position -= 2) 
		{ 
			blobTo.WriteByte((byte)blobFrom.ReadByte()); 
			if (blobFrom.Position == 1) break; 
		} 
	//blobTo.ToString() = "CBA"; 
} </code><code lang="vb">Private Sub ReverseBlob()
	Dim byteArray As Byte() = New Byte() {AscW("A"c), AscW("B"c), AscW("C"c)}
	Dim blobFrom As New OracleLob(OracleDbType.Blob)
	blobFrom.Write(byteArray, 0, byteArray.Length)
	' blobFrom.ToString() = "ABC"

	Dim blobTo As New OracleLob(OracleDbType.Blob)
	........
	' reverse OracleLob
	If ((blobFrom.CanSeek AndAlso blobFrom.CanRead) AndAlso blobTo.CanWrite) Then
		blobFrom.Seek(CLng(-1), System.IO.SeekOrigin.End)
		Do While True
			blobTo.WriteByte(CByte(blobFrom.ReadByte))
			If (blobFrom.Position = 1) Then
				Return
			End If
			blobFrom.Position = blobFrom.Position - 2
		Loop
	End If
	' blobTo.ToString() = "CBA";
End Sub </code></example>
      <keywords>OracleLob.CanSeek property </keywords>
      <value>
        <see langword="true" /> if the <see cref="T:Devart.Data.Oracle.OracleLob" /> stream supports seeking; <see langword="false" /> if a <see cref="T:Devart.Data.Oracle.OracleLob" /> is closed, disposed, or <see cref="F:Devart.Data.Oracle.OracleLob.Null" />. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleLob.CanWrite">
      <summary>Gets a value indicating whether the OracleLob object supports writing. </summary>
      <remarks>Use this property to determine whether you can write to the instance of <see cref="T:Devart.Data.Oracle.OracleLob" /> class. </remarks>
      <example> <code lang="csharp">static void ReverseBlob() 
{ 
	byte[] byteArray = { (byte)'A', (byte)'B', (byte)'C' }; 
	OracleLob blobFrom = new OracleLob(OracleDbType.Blob);
	blobFrom.Write(byteArray, 0, byteArray.Length);
	//blobFrom.ToString() = "ABC" 

	OracleLob blobTo = new OracleLob(OracleDbType.Blob); 
	........
	//reverse OracleLob 
	if (blobFrom.CanSeek &amp;&amp; blobFrom.CanRead &amp;&amp; blobTo.CanWrite) 
		for (blobFrom.Seek(-1, System.IO.SeekOrigin.End); ;blobFrom.Position -= 2) 
		{ 
			blobTo.WriteByte((byte)blobFrom.ReadByte()); 
			if (blobFrom.Position == 1) break; 
		} 
	//blobTo.ToString() = "CBA"; 
} </code><code lang="vb">Private Sub ReverseBlob()
	Dim byteArray As Byte() = New Byte() {AscW("A"c), AscW("B"c), AscW("C"c)}
	Dim blobFrom As New OracleLob(OracleDbType.Blob)
	blobFrom.Write(byteArray, 0, byteArray.Length)
	' blobFrom.ToString() = "ABC"

	Dim blobTo As New OracleLob(OracleDbType.Blob)
	........
	' reverse OracleLob
	If ((blobFrom.CanSeek AndAlso blobFrom.CanRead) AndAlso blobTo.CanWrite) Then
		blobFrom.Seek(CLng(-1), System.IO.SeekOrigin.End)
		Do While True
			blobTo.WriteByte(CByte(blobFrom.ReadByte))
			If (blobFrom.Position = 1) Then
				Return
			End If
			blobFrom.Position = blobFrom.Position - 2
		Loop
	End If
	' blobTo.ToString() = "CBA";
End Sub </code></example>
      <keywords>OracleLob.CanWrite property </keywords>
      <value>
        <see langword="true" /> if the <see cref="T:Devart.Data.Oracle.OracleLob" /> stream can be written; <see langword="false" /> if a <see cref="T:Devart.Data.Oracle.OracleLob" /> is closed, disposed or <see cref="F:Devart.Data.Oracle.OracleLob.Null" />. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleLob.ChunkSize">
      <summary>Gets a value indicating the minimum number of bytes used during read/write operations. </summary>
      <keywords>OracleLob.ChunkSize property </keywords>
      <value>The minimum number of bytes to retrieve or send. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleLob.Clone()">
      <summary>Creates a copy of the current <see cref="T:Devart.Data.Oracle.OracleLob" /> object. </summary>
      <remarks>Creates a new <see cref="T:Devart.Data.Oracle.OracleLob" /> object with the properties that have the same values as those of the original object. However, changing properties of the new object has no influence on the values of the same properties of the original object. </remarks>
      <keywords>OracleLob.Clone method </keywords>
      <returns>A new <see cref="T:Devart.Data.Oracle.OracleLob" /> object. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleLob.Close()">
      <summary>Closes the current stream and releases any resources associated with it. </summary>
      <remarks>
        <para>Use <see cref="M:Devart.Data.Oracle.OracleLob.Close()" /> to free resources taken by a <see cref="T:Devart.Data.Oracle.OracleLob" /> instance, i.e. after performing large data transfer. 
After closing <see cref="T:Devart.Data.Oracle.OracleLob" /> object call of any method of this object will throw an <see cref="T:System.ObjectDisposedException" />.</para>
        <para>This method is actually the same as <see cref="M:Devart.Data.Oracle.OracleLob.Dispose()" /> method.</para> </remarks>
      <example> <code lang="csharp">OracleDataReader pictureReader = myCommand.ExecuteReader();
pictureReader.Read();
OracleLob pictureBlob = pictureReader.GetOracleLob(pictureReader.GetOrdinal("Picture"));
...
//use pictureBlob
...
pictureBlob.Close(); </code><code lang="vb">Dim pictureReader As OracleDataReader = myCommand.ExecuteReader
pictureReader.Read()
Dim pictureBlob As OracleLob = pictureReader.GetOracleLob(pictureReader.GetOrdinal("Picture"))
...
'use pictureBlob
...
pictureBlob.Close() </code></example>
      <keywords>OracleLob.Close method </keywords>
    </member>
    <member name="P:Devart.Data.Oracle.OracleLob.Connection">
      <summary>Gets or sets the <see cref="T:Devart.Data.Oracle.OracleConnection" /> used by this instance of the <see cref="T:Devart.Data.Oracle.OracleLob" />. </summary>
      <keywords>OracleLob.Connection property </keywords>
      <value>The connection to a database. The default value is a null reference. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleLob.CopyTo(Devart.Data.Oracle.OracleLob)">
      <summary>Copies data from this <see cref="T:Devart.Data.Oracle.OracleLob" /> to a destination <see cref="T:Devart.Data.Oracle.OracleLob" />. </summary>
      <remarks>The current and destination <see cref="T:Devart.Data.Oracle.OracleLob" /> objects must have the same data types. </remarks>
      <keywords>OracleLob.CopyTo method </keywords>
      <param name="dest">The destination <see cref="T:Devart.Data.Oracle.OracleLob" />. </param>
      <returns>The number of bytes copied. </returns>
      <overloads>Copies data from this <see cref="T:Devart.Data.Oracle.OracleLob" /> to a destination <see cref="T:Devart.Data.Oracle.OracleLob" />. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleLob.CopyTo(Devart.Data.Oracle.OracleLob,System.Int64)">
      <summary>Copies data from this <see cref="T:Devart.Data.Oracle.OracleLob" /> to a destination <see cref="T:Devart.Data.Oracle.OracleLob" /> with the specified destination offset. </summary>
      <remarks>The current and destination <see cref="T:Devart.Data.Oracle.OracleLob" /> objects must have the same data types.
<para>If the destination offset is beyond the end of the LOB data, zeros are written into the <see cref="T:Devart.Data.Oracle.OracleDbType" />.Blob and spaces into the <see cref="T:Devart.Data.Oracle.OracleDbType" />.Clob and <see cref="T:Devart.Data.Oracle.OracleDbType" />.NClob data types until the destination offset is met.</para> </remarks>
      <keywords>OracleLob.CopyTo method </keywords>
      <param name="dest">The destination <see cref="T:Devart.Data.Oracle.OracleLob" />. </param>
      <param name="destOffset">The offset to which to copy. </param>
      <returns>The number of bytes copied. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleLob.CopyTo(System.Int64,Devart.Data.Oracle.OracleLob,System.Int64,System.Int64)">
      <summary>Copies data from this <see cref="T:Devart.Data.Oracle.OracleLob" /> to a destination <see cref="T:Devart.Data.Oracle.OracleLob" /> with the specified amount of data, source offset and destination offset. </summary>
      <remarks>The current and destination <see cref="T:Devart.Data.Oracle.OracleLob" /> objects must have the same data types.
<para>If the destination offset is beyond the end of the LOB data, zeros are written into the <see cref="T:Devart.Data.Oracle.OracleDbType" />.Blob and spaces into the <see cref="T:Devart.Data.Oracle.OracleDbType" />.Clob and <see cref="T:Devart.Data.Oracle.OracleDbType" />.NClob data types until the destination offset is met.</para> </remarks>
      <keywords>OracleLob.CopyTo method </keywords>
      <param name="srcOffset">The offset from which to copy. </param>
      <param name="dest">The destination <see cref="T:Devart.Data.Oracle.OracleLob" />. </param>
      <param name="destOffset">The offset to which to copy. </param>
      <param name="amount">The quantity of data, in bytes, to copy. </param>
      <returns>The number of bytes copied. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleLob.Dispose()">
      <summary>Releases all resources allocated by this object. </summary>
      <remarks><para>Use <see cref="M:Devart.Data.Oracle.OracleLob.Dispose()" /> to free resources taken by a <see cref="T:Devart.Data.Oracle.OracleLob" /> instance, i.e. after performing large data transfer. After disposing <see cref="T:Devart.Data.Oracle.OracleLob" /> object call of any method of this object will throw an <see cref="T:System.ObjectDisposedException" />.</para>

<para>This method is actually the same as <see cref="M:Devart.Data.Oracle.OracleLob.Close()" /> method.</para>

<para>This method closes the LOB locator associated with the <see cref="T:Devart.Data.Oracle.OracleLob" />.</para> </remarks>
      <keywords>OracleLob.Dispose method </keywords>
      <overloads>Releases all resources allocated by this object. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleLob.EndBatch()">
      <summary>Allows server-side triggers to resume firing after performing multiple write operations. </summary>
      <remarks>Call the <see cref="M:Devart.Data.Oracle.OracleLob.BeginBatch" /> method before you begin performing write operations on the <see cref="T:Devart.Data.Oracle.OracleLob" />. </remarks>
      <keywords>OracleLob.EndBatch method </keywords>
    </member>
    <member name="M:Devart.Data.Oracle.OracleLob.Erase()">
      <summary>Erases all data from the <see cref="T:Devart.Data.Oracle.OracleLob" />. </summary>
      <remarks>The <see cref="T:Devart.Data.Oracle.OracleLob" /> length remains the same for a <see cref="T:Devart.Data.Oracle.OracleDbType" />.Blob data type, and the erased data is replaced by 0x00. <see cref="T:Devart.Data.Oracle.OracleDbType" />.Clob and <see cref="T:Devart.Data.Oracle.OracleDbType" />.NClob data types are replaced by spaces. </remarks>
      <keywords>OracleLob.Erase method </keywords>
      <returns>The number of bytes erased. </returns>
      <overloads>Erases data from the specified <see cref="T:Devart.Data.Oracle.OracleLob" />. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleLob.Erase(System.Int64,System.Int64)">
      <summary>Erases the specified amount of data from the <see cref="T:Devart.Data.Oracle.OracleLob" />. </summary>
      <remarks>Replaces the specified amount of data with 0x00 for <see cref="T:Devart.Data.Oracle.OracleDbType" />.Blob, and with spaces for <see cref="T:Devart.Data.Oracle.OracleDbType" />.Clob and <see cref="T:Devart.Data.Oracle.OracleDbType" />.NClob data types. </remarks>
      <keywords>OracleLob.Erase method </keywords>
      <param name="offset">The offset from which to erase. </param>
      <param name="amount">The quantity of data, in bytes, to erase. </param>
      <returns>The number of bytes erased. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleLob.Flush()">
      <summary>Flush/write all buffers for the current <see cref="T:Devart.Data.Oracle.OracleLob" />. </summary>
      <keywords>OracleLob.Flush method </keywords>
    </member>
    <member name="P:Devart.Data.Oracle.OracleLob.IsBatched">
      <summary>Gets a value indicating whether the application called the <see cref="M:Devart.Data.Oracle.OracleLob.BeginBatch" /> method. </summary>
      <keywords>OracleLob.IsBatched property </keywords>
      <value><see langword="true" /> if application called the <see cref="M:Devart.Data.Oracle.OracleLob.BeginBatch" /> method; otherwise, <see langword="false" />. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleLob.IsEmpty">
      <summary>Gets a value indicating whether the <see cref="T:Devart.Data.Oracle.OracleLob" /> is empty or not. </summary>
      <remarks>
        <see cref="P:Devart.Data.Oracle.OracleLob.IsEmpty" /> is <see langword="true" /> also if <see cref="T:Devart.Data.Oracle.OracleLob" /> has <see cref="F:Devart.Data.Oracle.OracleLob.Null" /> value. </remarks>
      <keywords>OracleLob.IsEmpty property </keywords>
      <value>
        <see langword="true" /> if the <see cref="T:Devart.Data.Oracle.OracleLob" /> is empty; otherwise, <see langword="false" />. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleLob.IsEqual(Devart.Data.Oracle.OracleLob)">
      <summary>Determines whether the specified <see cref="T:Devart.Data.Oracle.OracleLob" /> object is equal to the current <see cref="T:Devart.Data.Oracle.OracleLob" />. </summary>
      <remarks>Compares the LOB data referenced by the two <see cref="T:Devart.Data.Oracle.OracleLob" />. Two <see cref="T:Devart.Data.Oracle.OracleLob" /> objects are equal if and only if they both refer to the same LOB value. </remarks>
      <keywords>OracleLob.IsEqual method </keywords>
      <param name="val">The <see cref="T:Devart.Data.Oracle.OracleLob" /> to compare with the current <see cref="T:Devart.Data.Oracle.OracleLob" />. </param>
      <returns><see langword="true" /> if the specified <see cref="T:Devart.Data.Oracle.OracleLob" /> object is equal to the current one; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleLob.IsNull">
      <summary>Gets a value indicating whether the <see cref="T:Devart.Data.Oracle.OracleLob" /> is a <see cref="F:Devart.Data.Oracle.OracleLob.Null" /> stream. </summary>
      <keywords>OracleLob.IsNull property </keywords>
      <value>
        <see langword="true" />, if the <see cref="T:Devart.Data.Oracle.OracleLob" /> is a <see cref="F:Devart.Data.Oracle.OracleLob.Null" />; otherwise, <see langword="false" />. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleLob.IsTemporary">
      <summary>Gets a value indicating whether the <see cref="T:Devart.Data.Oracle.OracleLob" /> is a temporary LOB. </summary>
      <remarks><para>LOB is considered temporary if it has no references from tables on the server. Temporary LOBs are used to insert new data into tables.</para>
<para>Note that temporary LOBs are destroyed when a transaction is committed.</para> </remarks>
      <keywords>OracleLob.IsTemporary property </keywords>
      <value><see langword="true" /> if the <see cref="T:Devart.Data.Oracle.OracleLob" /> is a temporary LOB; otherwise, <see langword="false" />. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleLob.Length">
      <summary>Gets the size of the <see cref="T:Devart.Data.Oracle.OracleLob" />. </summary>
      <remarks>The size of the <see cref="T:Devart.Data.Oracle.OracleLob" /> is always returned in bytes for all data types. </remarks>
      <example> <code lang="csharp">OracleDataReader pictureReader = myCommand.ExecuteReader();
pictureReader.Read();
OracleLob pictureBlob = pictureReader.GetOracleLob(pictureReader.GetOrdinal("Picture"));
if (pictureBlob.Length &gt; 100)
  pictureBlob.SetLength(100); </code><code lang="vb">Dim pictureReader As OracleDataReader = myCommand.ExecuteReader
pictureReader.Read()
Dim pictureBlob As OracleLob = pictureReader.GetOracleLob(pictureReader.GetOrdinal("Picture"))
If (pictureBlob.Length &gt; 100) Then
  pictureBlob.SetLength(CLng(100))
End If </code></example>
      <seealso cref="M:Devart.Data.Oracle.OracleLob.SetLength" />
      <keywords>OracleLob.Length property </keywords>
      <value>The size of the <see cref="T:Devart.Data.Oracle.OracleLob" /> in bytes. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleLob.LobType">
      <summary>Gets the LOB data type. </summary>
      <remarks><para>An <see cref="T:Devart.Data.Oracle.OracleLob" /> may be one of these <see cref="T:Devart.Data.Oracle.OracleDbType" /> data types:</para>
<list type="table">
  <listheader>
    <term>OracleDBType data type</term>
    <description>Description</description>
  </listheader>
  <item>
    <term><see cref="T:Devart.Data.Oracle.OracleDbType.Blob" /></term>
    <description>A variable-length stream of binary data.</description>
  </item>
  <item>
    <term><see cref="T:Devart.Data.Oracle.OracleDbType.Clob" /></term>
    <description>A variable-length stream character string.</description>
   </item>
   <item>
     <term><see cref="T:Devart.Data.Oracle.OracleDbType.NClob" /></term>
     <description>National variable-length character data.</description>
   </item>
   <item>
     <term><see cref="T:Devart.Data.Oracle.OracleDbType.BFile" /></term>
     <description>A reference to the physical file in the operating system where Oracle is installed.</description>
   </item>
</list> </remarks>
      <keywords>OracleLob.LobType property </keywords>
      <value>One of the <see cref="T:Devart.Data.Oracle.OracleDbType" /> LOB data types. </value>
    </member>
    <member name="F:Devart.Data.Oracle.OracleLob.MaxSize">
      <summary>Represents the maximum number of bytes a LOB can hold, which is 4 294 967 295 (2^32 - 1) bytes. </summary>
      <remarks>The <see cref="F:Devart.Data.Oracle.OracleLob.MaxSize" /> field can be useful to check whether the operation exceeds the maximum length allowed. </remarks>
      <keywords>OracleLob.MaxSize field </keywords>
    </member>
    <member name="F:Devart.Data.Oracle.OracleLob.Null">
      <summary>Deprecated. Represents a null <see cref="T:Devart.Data.Oracle.OracleLob" /> object. Use <see cref="F:Devart.Data.Oracle.OracleLob.NullBlob" /> or <see cref="F:Devart.Data.Oracle.OracleLob.NullClob" /> instead. </summary>
      <remarks>Use field <see cref="F:Devart.Data.Oracle.OracleLob.Null" /> to assign to a <see cref="T:Devart.Data.Oracle.OracleLob" /> in order to represent a <b>Null</b> value. In this case a LOB inserted in a field of a table will be <b>Null</b> rather than zero-length byte array. </remarks>
      <keywords>OracleLob.Null field </keywords>
    </member>
    <member name="F:Devart.Data.Oracle.OracleLob.NullBlob">
      <summary>Represents a null <see cref="T:Devart.Data.Oracle.OracleLob" /> object. </summary>
      <remarks>Use this field to assign to a <see cref="T:Devart.Data.Oracle.OracleLob" /> in order to represent a <b>Null</b> Blob value. In this case a Blob inserted in a field of a table will be <b>Null</b> rather than zero-length byte array. </remarks>
      <keywords>OracleLob.NullBlob field </keywords>
    </member>
    <member name="F:Devart.Data.Oracle.OracleLob.NullClob">
      <summary>Represents a null <see cref="T:Devart.Data.Oracle.OracleLob" /> object. </summary>
      <remarks>Use this field to assign to a <see cref="T:Devart.Data.Oracle.OracleLob" /> in order to represent a <b>Null</b> Clob value. In this case a Clob inserted in a field of a table will be <b>Null</b> rather than zero-length byte array. </remarks>
      <keywords>OracleLob.NullClob field </keywords>
    </member>
    <member name="P:Devart.Data.Oracle.OracleLob.Position">
      <summary>Gets the current read position in the <see cref="T:Devart.Data.Oracle.OracleLob" /> stream. </summary>
      <remarks>The stream must support seeking to get or set the position. Use the <see cref="P:Devart.Data.Oracle.OracleLob.CanSeek" /> property to determine whether the stream supports seeking. </remarks>
      <example> <code lang="csharp">static void ReverseBlob() 
{ 
	byte[] byteArray = { (byte)'A', (byte)'B', (byte)'C' }; 
	OracleLob blobFrom = new OracleLob(OracleDbType.Blob);
	blobFrom.Write(byteArray, 0, byteArray.Length);
	//blobFrom.ToString() = "ABC" 

	OracleLob blobTo = new OracleLob(OracleDbType.Blob); 
	........
	//reverse OracleLob 
	if (blobFrom.CanSeek &amp;&amp; blobFrom.CanRead &amp;&amp; blobTo.CanWrite) 
		for (blobFrom.Seek(-1, System.IO.SeekOrigin.End); ;blobFrom.Position -= 2) 
		{ 
			blobTo.WriteByte((byte)blobFrom.ReadByte()); 
			if (blobFrom.Position == 1) break; 
		} 
	//blobTo.ToString() = "CBA"; 
} </code><code lang="vb">Private Sub ReverseBlob()
	Dim byteArray As Byte() = New Byte() {AscW("A"c), AscW("B"c), AscW("C"c)}
	Dim blobFrom As New OracleLob(OracleDbType.Blob)
	blobFrom.Write(byteArray, 0, byteArray.Length)
	' blobFrom.ToString() = "ABC"

	Dim blobTo As New OracleLob(OracleDbType.Blob)
	........
	' reverse OracleLob
	If ((blobFrom.CanSeek AndAlso blobFrom.CanRead) AndAlso blobTo.CanWrite) Then
		blobFrom.Seek(CLng(-1), System.IO.SeekOrigin.End)
		Do While True
			blobTo.WriteByte(CByte(blobFrom.ReadByte))
			If (blobFrom.Position = 1) Then
				Return
			End If
			blobFrom.Position = blobFrom.Position - 2
		Loop
	End If
	' blobTo.ToString() = "CBA";
End Sub </code></example>
      <seealso cref="P:Devart.Data.Oracle.OracleLob.CanSeek" />
      <seealso cref="M:Devart.Data.Oracle.OracleLob.Seek" />
      <keywords>OracleLob.Position property </keywords>
      <value>The current position within the <see cref="T:Devart.Data.Oracle.OracleLob" /> stream. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleLob.Read(System.Byte[],System.Int32,System.Int32)">
      <summary>Reads a sequence of bytes from the current <see cref="T:Devart.Data.Oracle.OracleLob" /> stream and advances the position within the stream by the number of bytes read. </summary>
      <remarks>The <see cref="M:Devart.Data.Oracle.OracleLob.Read" /> method reads a maximum of <paramref name="count" /> bytes from the current stream and stores them in buffer beginning at <paramref name="offset" /> position. The current position within the stream is advanced by the number of bytes read. The <see cref="M:Devart.Data.Oracle.OracleLob.Read" /> method returns 0 if the position is at the end of the stream. </remarks>
      <example>In the example below a <see cref="T:Devart.Data.Oracle.OracleLob" /> is created with 10 bytes in it. Then <see cref="P:Devart.Data.Oracle.OracleLob.Position" /> is changed using <see cref="M:Devart.Data.Oracle.OracleLob.Seek" /> method. An attempt to read 10 bytes is made afterwards, however, only 5 bytes remain till the end of the stream, so TargetArray is populated with 5 bytes only. <code lang="csharp">public void ReadFromMyLob() 
{ 
	byte[] myByteArray = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; 
	byte[] TargetArray = new Byte[15]; 
	OracleLob myLob = new OracleLob(OracleDbType.Blob);
	myLob.Write(myByteArray, 0, 10); 
	myLob.Seek(5, SeekOrigin.Begin); 
	Console.WriteLine(myLob.Read(TargetArray, 0, 10) + " bytes are read"); 
} </code><code lang="vb">Public Sub ReadFromMyLob()
	Dim myByteArray As Byte() = New Byte() { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }
	Dim TargetArray As Byte() = New Byte(15  - 1) {}
	Dim myLob As New OracleLob(3)
	myLob.Write(myByteArray, 0, 10)
	myLob.Seek(5, SeekOrigin.Begin)
	Console.WriteLine((myLob.Read(TargetArray, 0, 10) &amp; " bytes are read"))
End Sub </code></example>
      <seealso cref="M:Devart.Data.Oracle.OracleLob.Seek" />
      <seealso cref="M:Devart.Data.Oracle.OracleLob.Write" />
      <keywords>OracleLob.Read method </keywords>
      <param name="buffer">The byte array buffer to be populated. </param>
      <param name="offset">The zero-based byte offset in the buffer. </param>
      <param name="count">The amount of bytes to read. </param>
      <returns>The total number of bytes read into the buffer. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleLob.Seek(System.Int64,System.IO.SeekOrigin)">
      <summary>Sets the position on the current <see cref="T:Devart.Data.Oracle.OracleLob" /> stream. </summary>
      <remarks>If <paramref name="offset" /> is negative, the new position is required to precede the position specified by <paramref name="origin" /> by the number of bytes specified by <paramref name="offset" />. If <paramref name="offset" /> is zero (0), the new position is required to be the position specified by <paramref name="origin" />. If <paramref name="offset" /> is positive, the new position is required to follow the position specified by <paramref name="origin" /> by the number of bytes specified by <paramref name="offset" />. </remarks>
      <example>The first line of the example sets stream position to the very first element. <code lang="csharp">myLob.Seek(0, SeekOrigin.Begin);
Console.WriteLine(myLob.Position);
Console.WriteLine(myLob.ReadByte()); </code><code lang="vb">myLob.Seek(0, SeekOrigin.Begin)
Console.WriteLine(myLob.Position)
Console.WriteLine(myLob.ReadByte()) </code></example>
      <seealso cref="P:Devart.Data.Oracle.OracleLob.CanSeek" />
      <seealso cref="P:Devart.Data.Oracle.OracleLob.Position" />
      <keywords>OracleLob.Seek method </keywords>
      <param name="offset">A byte offset relative to origin. </param>
      <param name="origin">A value of <see cref="T:System.IO.SeekOrigin" /> type indicating the reference point used to obtain the new position. </param>
      <returns>The new position within the current stream. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleLob.SetLength(System.Int64)">
      <summary>Sets length for <see cref="T:Devart.Data.Oracle.OracleLob" /> value. </summary>
      <remarks>If the given value is less than the current length of the stream, the stream is truncated. If the given value is larger than the current length of the stream, the stream is expanded. If the stream is expanded, the contents of the stream between the old and the new length are undefined. </remarks>
      <example> <code lang="csharp">OracleDataReader pictureReader = myCommand.ExecuteReader();
pictureReader.Read();
OracleLob pictureBlob = pictureReader.GetOracleLob(pictureReader.GetOrdinal("Picture"));
if (pictureBlob.Length &gt; 100)
  pictureBlob.SetLength(100); </code><code lang="vb">Dim pictureReader As OracleDataReader = myCommand.ExecuteReader
pictureReader.Read()
Dim pictureBlob As OracleLob = pictureReader.GetOracleLob(pictureReader.GetOrdinal("Picture"))
If (pictureBlob.Length &gt; 100) Then
  pictureBlob.SetLength(CLng(100))
End If </code></example>
      <seealso cref="P:Devart.Data.Oracle.OracleLob.Length" />
      <keywords>OracleLob.SetLength method </keywords>
      <param name="len">The size of the <see cref="T:Devart.Data.Oracle.OracleLob" /> in bytes. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleLob.ToString()">
      <summary>Converts the current <see cref="T:Devart.Data.Oracle.OracleLob" /> object to a <see cref="T:System.String" />. </summary>
      <remarks>If a <see cref="P:Devart.Data.Oracle.OracleLob.Value" /> is actually a sequence of bytes that represent a string, you can use <see cref="M:Devart.Data.Oracle.OracleLob.ToString()" /> method to obtain that string. The default encoding is used. </remarks>
      <example>The example shows a code fragment that gets a OracleLob field from a OracleReader and writes it to the console. <code lang="csharp">...
OracleLob myLob = myReader.GetOracleLob(myReader.GetOrdinal("TextColumnName"));
Console.WriteLine(myLob.ToString());
... </code><code lang="vb">...
Dim Lob As OracleLob = myReader.GetOracleLob(myReader.GetOrdinal("TextColumnName"))
Console.WriteLine(myLob.ToString())
... </code></example>
      <seealso cref="P:Devart.Data.Oracle.OracleLob.Value" />
      <keywords>OracleLob.ToString method </keywords>
      <returns>A <see cref="T:System.String" /> with the same value as the <see cref="T:Devart.Data.Oracle.OracleLob" />. </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleLob.Value">
      <summary>Gets the value of the <see cref="T:Devart.Data.Oracle.OracleLob" /> object. </summary>
      <remarks>Check the <see cref="P:Devart.Data.Oracle.OracleLob.IsNull" /> property before reading the <see cref="P:Devart.Data.Oracle.OracleLob.Value" /> property to avoid raising an exception. </remarks>
      <example>This code fragment downloads a LOB field from a table to a file. <see cref="P:Devart.Data.Oracle.OracleLob.Value" /> property is initialized by calling <see cref="M:Devart.Data.Oracle.OracleDataReader.GetOracleLob" /> method and then written to a stream. <code lang="csharp">OracleLob myLob = myReader.GetOracleLob(myReader.GetOrdinal("Picture"));
if(!myLob.IsNull)
{
  string FN = myReader.GetString(myReader.GetOrdinal("PicName"));
  FileStream fs = new FileStream("D:\\Tmp\\"+FN+".bmp", FileMode.Create);
  fs.Write(myLob.Value,0,(int)myLob.Length);
  fs.Close();
  Console.WriteLine(FN+" downloaded.");
} </code><code lang="vb">Dim myLob As OracleLob = myReader.GetOracleLob(myReader.GetOrdinal("Picture"))
If Not myLob.IsNull Then
  Dim FN As String = myReader.GetString(myReader.GetOrdinal("PicName"))
  Dim fs As FileStream = New FileStream("D:\Tmp\" + FN + ".bmp", FileMode.Create)
  fs.Write(myLob.Value, 0, Convert.ToInt32(myLob.Length))
  fs.Close()
  Console.WriteLine(String.Concat(FN, " downloaded."))
End If </code></example>
      <seealso cref="M:Devart.Data.Oracle.OracleLob.Read" />
      <seealso cref="M:Devart.Data.Oracle.OracleLob.Write" />
      <keywords>OracleLob.Value property </keywords>
      <value>For <see cref="T:Devart.Data.Oracle.OracleDbType" />.Blob and <see cref="T:Devart.Data.Oracle.OracleDbType" />.BFile, an array of type Byte[]. For <see cref="T:Devart.Data.Oracle.OracleDbType" />.Clob and <see cref="T:Devart.Data.Oracle.OracleDbType" />.NClob, a string. For null data, <see cref="F:Devart.Data.Oracle.OracleLob.Null" />. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleLob.Write(System.Byte[],System.Int32,System.Int32)">
      <summary>Writes a sequence of bytes to the current <see cref="T:Devart.Data.Oracle.OracleLob" /> stream, and advances the current position within this stream by the number of bytes written. </summary>
      <remarks>If the write operation is successful, the position within the stream advances by the number of bytes written.
<para>Note that writing data to <see cref="T:Devart.Data.Oracle.OracleLob" /> object results in immediate data transfer to server.</para> </remarks>
      <example>In this example data is written to <see cref="T:Devart.Data.Oracle.OracleLob" /> object from a stream. <code lang="csharp">public void UploadBlob(OracleConnection myConnection)
{
  FileStream fs = new FileStream("D:\\Tmp\\_Water.bmp", FileMode.Open, FileAccess.Read);
  BinaryReader r = new BinaryReader(fs);
  myConnection.Open();
  OracleLob myLob = new OracleLob(myConnection,OracleDbType.Blob);
  int streamLength = (int)fs.Length;
  myLob.Write(r.ReadBytes(streamLength), 0, streamLength);
  OracleCommand myCommand = new OracleCommand("INSERT INTO Pictures (ID, PicName, Picture) VALUES(1,'Water',:Pictures)", myConnection);
  OracleParameter myParam = myCommand.Parameters.Add("Pictures", OracleDbType.Blob);
  myParam.OracleValue = myLob;
  try
  {
    Console.WriteLine(myCommand.ExecuteNonQuery() + " rows affected.");
  }
  finally
  {
    myConnection.Close();
    r.Close();
    fs.Close();
  }
} </code><code lang="vb">Public Sub UploadBlob(ByVal myConnection As OracleConnection)
  Dim fs As FileStream = New FileStream("D:\Tmp\_Water.bmp", FileMode.Open, FileAccess.Read)
  Dim r As BinaryReader = New BinaryReader(fs)
  myConnection.Open()
  Dim myLob As OracleLob = New OracleLob(myConnection, OracleDbType.Blob)
  Dim streamLength As Int32 = fs.Length
  myLob.Write(r.ReadBytes(streamLength), 0, streamLength)
  Dim myCommand As OracleCommand = New OracleCommand("INSERT INTO Pictures (ID, PicName, Picture) VALUES(1,'Water',:Pictures)", myConnection)
  Dim myParam As OracleParameter = myCommand.Parameters.Add("Pictures", OracleDbType.Blob)
  myParam.OracleValue = myLob
  Try
    Console.WriteLine(myCommand.ExecuteNonQuery() &amp; " rows affected.")
  Finally
    myConnection.Close()
    r.Close()
    fs.Close()
  End Try
End Sub </code></example>
      <seealso cref="M:Devart.Data.Oracle.OracleLob.Read" />
      <keywords>OracleLob.Write method </keywords>
      <param name="buffer">An array of bytes. </param>
      <param name="offset">The zero-based byte offset in the buffer. </param>
      <param name="count">The amount of bytes to be written to the current stream. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleLob.WriteByte(System.Byte)">
      <summary>Writes a byte to the current position in the Lob and advances the position within the stream by one byte. </summary>
      <keywords>OracleLob.WriteByte method </keywords>
      <param name="value">The byte to write to the Lob. </param>
    </member>
    <member name="T:Devart.Data.Oracle.OracleLobOpenMode">
      <summary>Specifies whether an <see cref="T:Devart.Data.Oracle.OracleLob" /> should be opened in read-only or read/write mode. </summary>
      <remarks>Use <see cref="T:Devart.Data.Oracle.OracleLobOpenMode" /> enumerator with <see cref="M:Devart.Data.Oracle.OracleLob.BeginBatch" /> method. </remarks>
    </member>
    <member name="F:Devart.Data.Oracle.OracleLobOpenMode.ReadOnly">
      <summary>The <see cref="T:Devart.Data.Oracle.OracleLob" /> is opened in read-only mode. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleLobOpenMode.ReadWrite">
      <summary>The <see cref="T:Devart.Data.Oracle.OracleLob" /> is opened in read/write mode. </summary>
    </member>
    <member name="T:Devart.Data.Oracle.OracleMetaDataCollectionNames">
      <summary>Enumerates collection names you can use for metadata retrieval purposes. </summary>
      <remarks>These strings can be used as arguments for <see cref="M:Devart.Common.DbConnectionBase.GetSchema" /> overloads. </remarks>
    </member>
    <member name="F:Devart.Data.Oracle.OracleMetaDataCollectionNames.Arguments">
      <summary>The name of the metadata collection for stored procedure/function arguments. </summary>
      <keywords>OracleMetaDataCollectionNames.Arguments field </keywords>
      <value>The value is "Arguments". </value>
    </member>
    <member name="F:Devart.Data.Oracle.OracleMetaDataCollectionNames.Clusters">
      <summary>The name of the metadata collection for database clusters. </summary>
      <keywords>OracleMetaDataCollectionNames.Clusters field </keywords>
      <value>The value is "Clusters". </value>
    </member>
    <member name="F:Devart.Data.Oracle.OracleMetaDataCollectionNames.Columns">
      <summary>The name of the metadata collection for table columns. </summary>
      <keywords>OracleMetaDataCollectionNames.Columns field </keywords>
      <value>The value is "Columns". </value>
    </member>
    <member name="F:Devart.Data.Oracle.OracleMetaDataCollectionNames.ForeignKeyColumns">
      <summary>The name of the metadata collection for columns used in foreign keys. </summary>
      <keywords>OracleMetaDataCollectionNames.ForeignKeyColumns field </keywords>
      <value>The value is "ForeignKeyColumns". </value>
    </member>
    <member name="F:Devart.Data.Oracle.OracleMetaDataCollectionNames.ForeignKeys">
      <summary>The name of the metadata collection for foreign keys. </summary>
      <keywords>OracleMetaDataCollectionNames.ForeignKeys field </keywords>
      <value>The value is "ForeignKeys". </value>
    </member>
    <member name="F:Devart.Data.Oracle.OracleMetaDataCollectionNames.Functions">
      <summary>The name of the metadata collection for functions. </summary>
      <keywords>OracleMetaDataCollectionNames.Functions field </keywords>
      <value>The value is "Functions". </value>
    </member>
    <member name="F:Devart.Data.Oracle.OracleMetaDataCollectionNames.IndexColumns">
      <summary>The name of the metadata collection for columns used in indexes. </summary>
      <keywords>OracleMetaDataCollectionNames.IndexColumns field </keywords>
      <value>The value is "IndexColumns". </value>
    </member>
    <member name="F:Devart.Data.Oracle.OracleMetaDataCollectionNames.Indexes">
      <summary>The name of the metadata collection for table indexes. </summary>
      <keywords>OracleMetaDataCollectionNames.Indexes field </keywords>
      <value>The value is "Indexes". </value>
    </member>
    <member name="F:Devart.Data.Oracle.OracleMetaDataCollectionNames.MetaDataCollections">
      <summary>The name of the metadata collection for metadata collection definitions. </summary>
      <keywords>OracleMetaDataCollectionNames.MetaDataCollections field </keywords>
      <value>The value is "MetaDataCollections". </value>
    </member>
    <member name="F:Devart.Data.Oracle.OracleMetaDataCollectionNames.PackageBodies">
      <summary>The name of the metadata collection for Oracle package bodies. </summary>
      <keywords>OracleMetaDataCollectionNames.PackageBodies field </keywords>
      <value>The value is "PackageBodies". </value>
    </member>
    <member name="F:Devart.Data.Oracle.OracleMetaDataCollectionNames.Packages">
      <summary>The name of the metadata collection for Oracle packages. </summary>
      <keywords>OracleMetaDataCollectionNames.Packages field </keywords>
      <value>The value is "Packages". </value>
    </member>
    <member name="F:Devart.Data.Oracle.OracleMetaDataCollectionNames.PrimaryKeyColumns">
      <summary>The name of the metadata collection for columns used in primary keys. </summary>
      <keywords>OracleMetaDataCollectionNames.PrimaryKeyColumns field </keywords>
      <value>The value is "PrimaryKeyColumns". </value>
    </member>
    <member name="F:Devart.Data.Oracle.OracleMetaDataCollectionNames.PrimaryKeys">
      <summary>The name of the metadata collection for primary keys. </summary>
      <keywords>OracleMetaDataCollectionNames.PrimaryKeys field </keywords>
      <value>The value is "PrimaryKeys". </value>
    </member>
    <member name="F:Devart.Data.Oracle.OracleMetaDataCollectionNames.Procedures">
      <summary>The name of the metadata collection for stored procedures. </summary>
      <keywords>OracleMetaDataCollectionNames.Procedures field </keywords>
      <value>The value is "Procedures". </value>
    </member>
    <member name="F:Devart.Data.Oracle.OracleMetaDataCollectionNames.QueuePublishers">
      <summary>The name of the metadata collection for registered queue publishers. </summary>
      <keywords>OracleMetaDataCollectionNames.QueuePublishers field </keywords>
      <value>The value is "QueuePublishers". </value>
    </member>
    <member name="F:Devart.Data.Oracle.OracleMetaDataCollectionNames.QueueSubscribers">
      <summary>The name of the metadata collection for registered queue subscribers. </summary>
      <keywords>OracleMetaDataCollectionNames.QueueSubscribers field </keywords>
      <value>The value is "QueueSubscribers". </value>
    </member>
    <member name="F:Devart.Data.Oracle.OracleMetaDataCollectionNames.QueueTables">
      <summary>The name of the metadata collection for Advanced Queuing queue tables. </summary>
      <keywords>OracleMetaDataCollectionNames.QueueTables field </keywords>
      <value>The value is "QueueTables". </value>
    </member>
    <member name="F:Devart.Data.Oracle.OracleMetaDataCollectionNames.Queues">
      <summary>The name of the metadata collection for queues. </summary>
      <keywords>OracleMetaDataCollectionNames.Queues field </keywords>
      <value>The value is "Queues". </value>
    </member>
    <member name="F:Devart.Data.Oracle.OracleMetaDataCollectionNames.ReservedWords">
      <summary>The name of metadata collection for the reserved words. </summary>
      <keywords>OracleMetaDataCollectionNames.ReservedWords field </keywords>
      <value>The value is "ReservedWords". </value>
    </member>
    <member name="F:Devart.Data.Oracle.OracleMetaDataCollectionNames.Restrictions">
      <summary>The name of the metadata collection for metadata restrictions. </summary>
      <keywords>OracleMetaDataCollectionNames.Restrictions field </keywords>
      <value>The value is "Restrictions". </value>
    </member>
    <member name="F:Devart.Data.Oracle.OracleMetaDataCollectionNames.SSISTables">
      <summary>The name of the metadata collection for SSIS tables. </summary>
      <keywords>OracleMetaDataCollectionNames.SSISTables field </keywords>
      <value>The value is "SSISTables". </value>
    </member>
    <member name="F:Devart.Data.Oracle.OracleMetaDataCollectionNames.Sequences">
      <summary>The name of the metadata collection for Oracle sequences. </summary>
      <keywords>OracleMetaDataCollectionNames.Sequences field </keywords>
      <value>The value is "Sequences". </value>
    </member>
    <member name="F:Devart.Data.Oracle.OracleMetaDataCollectionNames.Synonyms">
      <summary>The name of the metadata collection for object name synonyms. </summary>
      <keywords>OracleMetaDataCollectionNames.Synonyms field </keywords>
      <value>The value is "Synonyms". </value>
    </member>
    <member name="F:Devart.Data.Oracle.OracleMetaDataCollectionNames.Tables">
      <summary>The name of the metadata collection for database tables. </summary>
      <keywords>OracleMetaDataCollectionNames.Tables field </keywords>
      <value>The value is "Tables". </value>
    </member>
    <member name="F:Devart.Data.Oracle.OracleMetaDataCollectionNames.Triggers">
      <summary>The name of the metadata collection for triggers. </summary>
      <keywords>OracleMetaDataCollectionNames.Triggers field </keywords>
      <value>The value is "Triggers". </value>
    </member>
    <member name="F:Devart.Data.Oracle.OracleMetaDataCollectionNames.Users">
      <summary>The name of the metadata collection for database users. </summary>
      <keywords>OracleMetaDataCollectionNames.Users field </keywords>
      <value>The value is "Users". </value>
    </member>
    <member name="F:Devart.Data.Oracle.OracleMetaDataCollectionNames.Views">
      <summary>The name of the metadata collection for database views. </summary>
      <keywords>OracleMetaDataCollectionNames.Views field </keywords>
      <value>The value is "Views". </value>
    </member>
    <member name="T:Devart.Data.Oracle.OracleMonitor">
      <summary>Monitors dynamic SQL execution in applications that use dotConnect for Oracle. </summary>
      <remarks>
        <para>To enable monitoring just drop <see cref="T:Devart.Data.Oracle.OracleMonitor" /> component to the form and set <see cref="P:Devart.Data.Oracle.OracleMonitor.IsActive" /> property to <see langword="true" />. If <a href="DbMonitor.html">dbMonitor</a> application has already been started you can see messages and SQL statements that your application executes. For monitoring you need only one <see cref="T:Devart.Data.Oracle.OracleMonitor" /> component on any of the forms your application consists of.</para>
        <para>For example on how to trap SQL events in your application please refer to description of <see cref="E:Devart.Common.DbMonitor.TraceEvent" /> event of <see cref="T:Devart.Common.DbMonitor" />.</para>
        <para>
For monitoring multithreaded applications with dbMonitor tool you have to specify ApartmentState.MTA attribute as shown in the example below.
</para>
        <para>
See also <a href="DbMonitor.html">Using dbMonitor</a> topic.
</para> </remarks>
      <example>This sample shows how to enable SQL monitoring in console and web applications. To activate monitoring for web applications, a Devart.Data.Oracle.OracleMonitor object may be added to the Application 
collection at the first load of the default page. <code lang="csharp">// Console application
[MTAThread]
static void Main(string[] args)
{
  OracleMonitor myMonitor = new OracleMonitor();
  myMonitor.IsActive = true;
  ...
}

// Web application
void Page_Load(object sender, EventArgs e)
{
	if (Application["mon"] == null)
	Application.Add("mon", new Devart.Data.Oracle.OracleMonitor() {IsActive = true});
} </code><code lang="vb">' Console application
&lt;MTAThread()&gt; _
Sub Main()
  Dim myMonitor As OracleMonitor = New OracleMonitor
  myMonitor.IsActive = True
  ...
End Sub

// Web application
Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
	If Application("mon") Is Nothing Then
		Application.Add("mon", New Devart.Data.Oracle.OracleMonitor() With {.IsActive = True})
    End If
End Sub </code></example>
    </member>
    <member name="M:Devart.Data.Oracle.OracleMonitor.#ctor()">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleMonitor" /> class. </summary>
      <remarks>The base constructor initializes all fields to their default values. To activate monitoring after <see cref="T:Devart.Data.Oracle.OracleMonitor" /> construction set <see cref="P:Devart.Data.Oracle.OracleMonitor.IsActive" /> property to <see langword="true" />. To disable monitoring set this property to <see langword="false" />. Monitoring will be automatically deactivated after <see cref="T:Devart.Data.Oracle.OracleMonitor" /> instance destruction. </remarks>
    </member>
    <member name="P:Devart.Data.Oracle.OracleMonitor.IsActive">
      <summary>Gets or sets whether <see cref="T:Devart.Data.Oracle.OracleMonitor" /> should watch SQL execution. </summary>
      <remarks>Set this property to true to enable monitoring of SQL statements. </remarks>
      <keywords>OracleMonitor.IsActive property </keywords>
      <value>
        <see langword="true" /> if the <see cref="T:Devart.Data.Oracle.OracleMonitor" /> object should detect SQL queries peformed by the application; <see langword="false" /> otherwise. </value>
    </member>
    <member name="T:Devart.Data.Oracle.OracleNotificationEventArgs">
      <summary>Provides data for the <see cref="E:Devart.Data.Oracle.OracleDependency.OnChange" /> event. </summary>
    </member>
    <member name="P:Devart.Data.Oracle.OracleNotificationEventArgs.Details">
      <summary>Gets detailed information about the current notification. </summary>
      <remarks><para>The returned DataTable object contains column data about the current notification in the following order:</para>
<list type="table">
  <listheader>
    <term>Column Name</term>
    <description>Description</description>
  </listheader>
  <item>
    <term>ResourceName</term>
    <description>A string that represents the name of the invalidated object in the format &lt;SchemaName&gt;.&lt;ObjectName&gt;.</description>
  </item>
  <item>
    <term>Info</term>
    <description>One of the <see cref="T:Devart.Data.Oracle.OracleNotificationInfo" /> values. Represents the information about the database event that occurs on a resource.</description>
  </item>
  <item>
    <term>Rowid</term>
    <description>A string that represents the rowid for the invalidated table row. This value can be NULL.</description>
  </item>
</list> </remarks>
      <seealso cref="T:Devart.Data.Oracle.OracleNotificationInfo" />
      <seealso cref="P:Devart.Data.Oracle.OracleNotificationRequest.RowLevelDetails" />
      <keywords>OracleNotificationEventArgs.Details property </keywords>
      <value>A <b>DataTable</b> object. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleNotificationEventArgs.ResourceNames">
      <summary>Gets the database resources related to the current notification. </summary>
      <remarks>The <see cref="P:Devart.Data.Oracle.OracleNotificationEventArgs.ResourceNames" /> property contains
information about the invalidated object names in the format &lt;SchemaName&gt;.&lt;ObjectName&gt;. To obtain more detailed information about the changes for invalidated objects, use the <see cref="P:Devart.Data.Oracle.OracleNotificationEventArgs.Details" /> property. </remarks>
      <seealso cref="P:Devart.Data.Oracle.OracleNotificationEventArgs.Details" />
      <keywords>OracleNotificationEventArgs.ResourceNames property </keywords>
      <value>The list of related resources. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleNotificationEventArgs.Type">
      <summary>Identifies the database event source for the notification. </summary>
      <seealso cref="T:Devart.Data.Oracle.OracleNotificationType" />
      <keywords>OracleNotificationEventArgs.Type property </keywords>
      <value>One of the <see cref="T:Devart.Data.Oracle.OracleNotificationType" /> values. </value>
    </member>
    <member name="T:Devart.Data.Oracle.OracleNotificationInfo">
      <summary>Specifies the operation, for which a notification is received from Oracle server. </summary>
      <remarks>To obtain the detailed notification information, consult the <see cref="P:Devart.Data.Oracle.OracleNotificationEventArgs.Details" /> property. This enumeration is actual when <see cref="P:Devart.Data.Oracle.OracleNotificationEventArgs.Type" /> is <see cref="T:Devart.Data.Oracle.OracleNotificationType" />.Change. </remarks>
      <seealso cref="P:Devart.Data.Oracle.OracleNotificationEventArgs.Details" />
      <seealso cref="T:Devart.Data.Oracle.OracleNotificationType" />
      <seealso cref="P:Devart.Data.Oracle.OracleNotificationRequest.Operations" />
    </member>
    <member name="F:Devart.Data.Oracle.OracleNotificationInfo.AllOps">
      <summary>Any operation (used for operations filter only). </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleNotificationInfo.AllRows">
      <summary>All rows in a table are affected (for example, table is truncated, a column is added, and so on). </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleNotificationInfo.Alter">
      <summary>An object is altered. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleNotificationInfo.Delete">
      <summary>A row is deleted. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleNotificationInfo.Drop">
      <summary>An object or database is dropped. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleNotificationInfo.Insert">
      <summary>A row is inserted. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleNotificationInfo.Unknown">
      <summary>The reason is unknown. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleNotificationInfo.Update">
      <summary>A row is updated. </summary>
    </member>
    <member name="T:Devart.Data.Oracle.OracleNotificationRequest">
      <summary>Represents a notification request to be subscribed in the database. </summary>
      <remarks>The properties of <see cref="T:Devart.Data.Oracle.OracleNotificationRequest" /> are common for all notification requests bound for same <see cref="T:Devart.Data.Oracle.OracleDependency" /> object, can be adjusted only before the listener has started. The initial values of the properties are inherited from the <see cref="T:Devart.Data.Oracle.OracleDependency" /> object. You can adjust them in one of the OracleDependency constructors. </remarks>
      <seealso cref="T:Devart.Data.Oracle.OracleNotificationEventArgs" />
    </member>
    <member name="P:Devart.Data.Oracle.OracleNotificationRequest.IsNotifiedOnce">
      <summary>Indicates whether the registration is to be removed upon notification. </summary>
      <remarks>The default value is <see langword="true" />. </remarks>
      <keywords>OracleNotificationRequest.IsNotifiedOnce property </keywords>
      <value><see langword="true" />, if the registration is to be removed upon notification; otherwise, <see langword="false" />. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleNotificationRequest.IsPersistent">
      <summary>Indicates whether the invalidation message should be queued persistently in the database before delivery. </summary>
      <remarks><para>When the <see cref="P:Devart.Data.Oracle.OracleNotificationRequest.IsPersistent" /> property is set to <see langword="true" />, the message is queued persistently in the database and cannot be lost upon database failures or shutdowns. 
The database performs faster if the message is stored in an in-memory queue rather
than a database queue.
</para>
<para>The default value is <see langword="false" />.</para> </remarks>
      <keywords>OracleNotificationRequest.IsPersistent property </keywords>
      <value><see langword="true" />, if invalidation message should be
queued persistently in the database before delivery; otherwise, <see langword="false" />. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleNotificationRequest.Operations">
      <summary>Allows specifying a filter for the operations, for which notifications should be retrieved. </summary>
      <remarks>This property is used only for Object Change Notification </remarks>
      <seealso cref="T:Devart.Data.Oracle.OracleNotificationInfo" />
      <keywords>OracleNotificationRequest.Operations property </keywords>
      <value>The filter for the operations, for which notifications should be retrieved. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleNotificationRequest.QueryBasedNotificationMode">
      <summary>Allows specifying the best-effort or guaranteed mode for query result notification. </summary>
      <seealso cref="T:Devart.Data.Oracle.OracleQueryBasedNotificationMode" />
      <keywords>OracleNotificationRequest.QueryBasedNotificationMode property </keywords>
      <value>One of the <see cref="T:Devart.Data.Oracle.OracleQueryBasedNotificationMode" /> values. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleNotificationRequest.RowLevelDetails">
      <summary>Indicates whether detailed information should be included in the notification data. </summary>
      <seealso cref="P:Devart.Data.Oracle.OracleNotificationEventArgs.Details" />
      <keywords>OracleNotificationRequest.RowLevelDetails property </keywords>
      <value><see langword="true" />, if detailed information should be included; otherwise, <see langword="false" />. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleNotificationRequest.Timeout">
      <summary>Specifies the time in seconds that the registration remains alive. </summary>
      <remarks><para>The value 0 indicates that the registration should never expire.  The valid values for timeout are between 0 and 4294967295.</para> </remarks>
      <keywords>OracleNotificationRequest.Timeout property </keywords>
      <value>The timeout in seconds. The default value is 50000. </value>
    </member>
    <member name="T:Devart.Data.Oracle.OracleNotificationType">
      <summary>Specifies the type of notification received from Oracle server. </summary>
      <seealso cref="P:Devart.Data.Oracle.OracleNotificationEventArgs.Type" />
      <seealso cref="T:Devart.Data.Oracle.OracleNotificationInfo" />
    </member>
    <member name="F:Devart.Data.Oracle.OracleNotificationType.Change">
      <summary>A database object or its data is modified. For detailed information refer to the <see cref="P:Devart.Data.Oracle.OracleNotificationEventArgs.Details" /> property. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleNotificationType.DropDb">
      <summary>A database is dropped. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleNotificationType.End">
      <summary>The registration expires. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleNotificationType.Error">
      <summary>An error is encountered while processing the notification. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleNotificationType.None">
      <summary>A notification of unknown type is received. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleNotificationType.QueryChange">
      <summary>A query-based change occurs in the database when using OracleDependency. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleNotificationType.Shutdown">
      <summary>A database shuts down. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleNotificationType.Shutdown_any">
      <summary>A database instance in a Real Application Cluster environment shuts down. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleNotificationType.Startup">
      <summary>A database starts. </summary>
    </member>
    <member name="T:Devart.Data.Oracle.OracleNumber">
      <summary>Represents the Oracle NUMBER or any numeric type. </summary>
      <remarks><para>To obtain an <see cref="T:Devart.Data.Oracle.OracleNumber" /> object call the <see cref="M:Devart.Data.Oracle.OracleDataReader.GetOracleNumber" /> method of the <see cref="T:Devart.Data.Oracle.OracleDataReader" /> class.</para>
<para>When in <see cref="P:Devart.Data.Oracle.OracleConnection.Direct" /> mode, some members of <see cref="T:Devart.Data.Oracle.OracleNumber" /> are not available.</para> </remarks>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.#ctor(System.Byte[])">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure with the specified <see cref="T:System.byte[]" /> value. </summary>
      <param name="value">The <see cref="T:System.byte[]" /> value to be stored as an <see cref="T:Devart.Data.Oracle.OracleNumber" />. </param>
      <overloads>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.#ctor(System.Decimal)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure with the specified <see cref="T:System.Decimal" /> value. </summary>
      <param name="value">The <see cref="T:System.Decimal" /> value to be stored as an <see cref="T:Devart.Data.Oracle.OracleNumber" />. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.#ctor(System.Double)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure with the specified <see cref="T:System.Double" /> value. </summary>
      <param name="value">The <see cref="T:System.Double" /> value to be stored as an <see cref="T:Devart.Data.Oracle.OracleNumber" />. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.#ctor(System.Int32)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure with the specified <see cref="T:System.Int32" /> value. </summary>
      <param name="value">The <see cref="T:System.Int32" /> value to be stored as an <see cref="T:Devart.Data.Oracle.OracleNumber" />. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.#ctor(System.Int64)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure with the specified <see cref="T:System.Int64" /> value. </summary>
      <param name="value">The <see cref="T:System.Int64" /> value to be stored as an <see cref="T:Devart.Data.Oracle.OracleNumber" />. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.Abs(Devart.Data.Oracle.OracleNumber)">
      <summary>Gets the absolute value of the <see cref="T:Devart.Data.Oracle.OracleNumber" />. </summary>
      <keywords>OracleNumber.Abs method </keywords>
      <param name="value">An <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure. </param>
      <returns>An <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure whose <see cref="P:Devart.Data.Oracle.OracleNumber.Value" /> property contains the unsigned number representing the absolute value of the <see cref="T:Devart.Data.Oracle.OracleNumber" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.Acos(Devart.Data.Oracle.OracleNumber)">
      <summary>Calculates an angle in radian whose cosine is the specified <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure. </summary>
      <remarks>This method is not available in <a href="DirectMode.html">Direct</a> mode. </remarks>
      <keywords>OracleNumber.Acos method </keywords>
      <param name="value">An <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure. </param>
      <returns>An <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure that represents an angle in radian. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.Add(Devart.Data.Oracle.OracleNumber,Devart.Data.Oracle.OracleNumber)">
      <summary>Adds two <see cref="T:Devart.Data.Oracle.OracleNumber" /> values. </summary>
      <remarks>This method is not available in <a href="DirectMode.html">Direct</a> mode. </remarks>
      <keywords>OracleNumber.Add method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleNumber" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleNumber" />. </param>
      <returns>A new <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.Asin(Devart.Data.Oracle.OracleNumber)">
      <summary>Calculates an angle in radian whose sine is the specified <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure. </summary>
      <remarks>This method is not available in <a href="DirectMode.html">Direct</a> mode. </remarks>
      <keywords>OracleNumber.Asin method </keywords>
      <param name="value">An <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure. </param>
      <returns>An <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure that represents an angle in radian. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.Atan(Devart.Data.Oracle.OracleNumber)">
      <summary>Calculates an angle in radian whose tangent is the specified <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure. </summary>
      <remarks>This method is not available in <a href="DirectMode.html">Direct</a> mode. </remarks>
      <keywords>OracleNumber.Atan method </keywords>
      <param name="value">An <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure. </param>
      <returns>An <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure that represents an angle in radian. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.Atan2(Devart.Data.Oracle.OracleNumber,Devart.Data.Oracle.OracleNumber)">
      <summary>Calculates an angle in radian whose tangent is the quotient of the two specified <see cref="T:Devart.Data.Oracle.OracleNumber" /> structures. </summary>
      <remarks>This method is not available in <a href="DirectMode.html">Direct</a> mode. </remarks>
      <keywords>OracleNumber.Atan2 method </keywords>
      <param name="value1">An <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure that represents the y-coordinate. </param>
      <param name="value2">An <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure that represents the x-coordinate. </param>
      <returns>An <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure that represents an angle in radian. </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleNumber.BinData">
      <summary>Gets <see cref="T:Devart.Data.Oracle.OracleNumber" /> value as binary data. </summary>
      <keywords>OracleNumber.BinData property </keywords>
      <value>An array of bytes that represents the current <see cref="T:Devart.Data.Oracle.OracleNumber" /> object. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.Ceiling(Devart.Data.Oracle.OracleNumber)">
      <summary>Returns the smallest whole number greater than or equal to the specified <see cref="T:Devart.Data.Oracle.OracleNumber" /> number. </summary>
      <remarks>This method is not available in <a href="DirectMode.html">Direct</a> mode. </remarks>
      <keywords>OracleNumber.Ceiling method </keywords>
      <param name="value">The specified <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure. </param>
      <returns>A new <see cref="T:Devart.Data.Oracle.OracleNumber" /> representing the smallest whole number greater than or equal to the specified <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.CompareTo(System.Object)">
      <summary>Compares the current <see cref="T:Devart.Data.Oracle.OracleNumber" /> object to the specified object and returns an integer that represents their relative values. </summary>
      <keywords>OracleNumber.CompareTo method </keywords>
      <param name="obj">The object to be compared. </param>
      <returns>A signed number indicating the relative values of the current <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure and the object.
<list type="table">
  <listheader>
    <term>Return Value</term>
    <description>Condition</description>
  </listheader>
  <item>
    <term>Less than zero</term>
    <description>The value of the current <see cref="T:Devart.Data.Oracle.OracleNumber" /> object is less than the object.</description>
  </item>
  <item>
    <term>Zero</term>
    <description>The current <see cref="T:Devart.Data.Oracle.OracleNumber" /> object is the same to the object.</description>
   </item>
   <item>
     <term>Greater than zero</term>
     <description>The current <see cref="T:Devart.Data.Oracle.OracleNumber" /> object is greater than the object.</description>
   </item>
</list> </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.Cos(Devart.Data.Oracle.OracleNumber)">
      <summary>Calculates the cosine of the specified angle in radian. </summary>
      <remarks>This method is not available in <a href="DirectMode.html">Direct</a> mode. </remarks>
      <keywords>OracleNumber.Cos method </keywords>
      <param name="value">An <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure that represents an angle in radian. </param>
      <returns>An <see cref="T:Devart.Data.Oracle.OracleNumber" /> instance. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.Cosh(Devart.Data.Oracle.OracleNumber)">
      <summary>Calculates the hyperbolic cosine of the specified angle in radian. </summary>
      <remarks>This method is not available in <a href="DirectMode.html">Direct</a> mode. </remarks>
      <keywords>OracleNumber.Cosh method </keywords>
      <param name="value">An <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure that represents an angle in radian. </param>
      <returns>An <see cref="T:Devart.Data.Oracle.OracleNumber" /> instance. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.Divide(Devart.Data.Oracle.OracleNumber,Devart.Data.Oracle.OracleNumber)">
      <summary>Divides one <see cref="T:Devart.Data.Oracle.OracleNumber" /> value by another. </summary>
      <remarks>This method is not available in <a href="DirectMode.html">Direct</a> mode. </remarks>
      <keywords>OracleNumber.Divide method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleNumber" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleNumber" />. </param>
      <returns>A new <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.Equals(Devart.Data.Oracle.OracleNumber,Devart.Data.Oracle.OracleNumber)">
      <summary>Determines whether two <see cref="T:Devart.Data.Oracle.OracleNumber" /> values are equal. </summary>
      <keywords>OracleNumber.Equals method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleNumber" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleNumber" />. </param>
      <returns><see langword="true" /> if two <see cref="T:Devart.Data.Oracle.OracleNumber" /> values are equal; otherwise, <see langword="false" />. </returns>
      <overloads>Compares two <see cref="T:Devart.Data.Oracle.OracleNumber" /> structures to determine if they are equal. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.Equals(System.Object)">
      <summary>Compares the specified object parameter to the <see cref="P:Devart.Data.Oracle.OracleNumber.Value" /> property of the <see cref="T:Devart.Data.Oracle.OracleNumber" /> object. </summary>
      <keywords>OracleNumber.Equals method </keywords>
      <param name="value">The object to be compared. </param>
      <returns><see langword="true" /> if object is an instance of the <see cref="T:Devart.Data.Oracle.OracleNumber" /> and has the same value; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.Exp(Devart.Data.Oracle.OracleNumber)">
      <summary>Calculates a new <see cref="T:Devart.Data.Oracle.OracleNumber" /> with its value set to e raised to the specified <see cref="T:Devart.Data.Oracle.OracleNumber" />. </summary>
      <remarks>This method is not available in <a href="DirectMode.html">Direct</a> mode. </remarks>
      <keywords>OracleNumber.Exp method </keywords>
      <param name="value">The specified <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure. </param>
      <returns>A new <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.Floor(Devart.Data.Oracle.OracleNumber)">
      <summary>Rounds a specified <see cref="T:Devart.Data.Oracle.OracleNumber" /> number to the next lower whole number. </summary>
      <remarks>This method is not available in <a href="DirectMode.html">Direct</a> mode. </remarks>
      <keywords>OracleNumber.Floor method </keywords>
      <param name="value">The specified <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure. </param>
      <returns>A new <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure that contains the whole number portion of the specified <see cref="T:Devart.Data.Oracle.OracleNumber" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.GetHashCode()">
      <summary>Gets a hash code for the <see cref="T:Devart.Data.Oracle.OracleNumber" /> instance. </summary>
      <keywords>OracleNumber.GetHashCode method </keywords>
      <returns>A 32-bit signed integer hash code. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.GreaterThan(Devart.Data.Oracle.OracleNumber,Devart.Data.Oracle.OracleNumber)">
      <summary>Determines whether the first of two <see cref="T:Devart.Data.Oracle.OracleNumber" /> values is greater than the second. </summary>
      <keywords>OracleNumber.GreaterThan method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleNumber" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleNumber" />. </param>
      <returns><see langword="true" /> if the first of two <see cref="T:Devart.Data.Oracle.OracleNumber" /> values is greater than the second; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.GreaterThanOrEqual(Devart.Data.Oracle.OracleNumber,Devart.Data.Oracle.OracleNumber)">
      <summary>Determines whether the first of two <see cref="T:Devart.Data.Oracle.OracleNumber" /> values is greater than or equal to the second. </summary>
      <keywords>OracleNumber.GreaterThanOrEqual method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleNumber" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleNumber" />. </param>
      <returns><see langword="true" /> if the first of two <see cref="T:Devart.Data.Oracle.OracleNumber" /> values is greater than or equal to the second; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleNumber.IsNull">
      <summary>Gets a value indicating whether the <see cref="P:Devart.Data.Oracle.OracleNumber.Value" /> property of the <see cref="T:Devart.Data.Oracle.OracleNumber" /> is <see cref="F:Devart.Data.Oracle.OracleNumber.Null" />. </summary>
      <keywords>OracleNumber.IsNull property </keywords>
      <value><see langword="true" /> if the <see cref="P:Devart.Data.Oracle.OracleNumber.Value" /> is <see cref="F:Devart.Data.Oracle.OracleNumber.Null" />; otherwise, <see langword="false" />. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.LessThan(Devart.Data.Oracle.OracleNumber,Devart.Data.Oracle.OracleNumber)">
      <summary>Determines whether the first of two <see cref="T:Devart.Data.Oracle.OracleNumber" /> values is less than the second. </summary>
      <keywords>OracleNumber.LessThan method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleNumber" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleNumber" />. </param>
      <returns><see langword="true" /> if the first of two <see cref="T:Devart.Data.Oracle.OracleNumber" /> values is less than the second; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.LessThanOrEqual(Devart.Data.Oracle.OracleNumber,Devart.Data.Oracle.OracleNumber)">
      <summary>Determines whether the first of two <see cref="T:Devart.Data.Oracle.OracleNumber" /> values is less than or equal to the second. </summary>
      <keywords>OracleNumber.LessThanOrEqual method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleNumber" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleNumber" />. </param>
      <returns><see langword="true" /> if the first of two <see cref="T:Devart.Data.Oracle.OracleNumber" /> values is less than or equal to the second; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.Log(Devart.Data.Oracle.OracleNumber)">
      <summary>Calculates a new <see cref="T:Devart.Data.Oracle.OracleNumber" /> with its value set to the natural logarithm (base e) of the specified <see cref="T:Devart.Data.Oracle.OracleNumber" />. </summary>
      <remarks>This method is not available in <a href="DirectMode.html">Direct</a> mode. </remarks>
      <keywords>OracleNumber.Log method </keywords>
      <param name="value">The specified <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure. </param>
      <returns>A new <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure with its value set to the natural logarithm. </returns>
      <overloads>Performs a logarithmic calculation on an <see cref="T:Devart.Data.Oracle.OracleNumber" />. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.Log(Devart.Data.Oracle.OracleNumber,Devart.Data.Oracle.OracleNumber)">
      <summary>Calculates the <see cref="T:Devart.Data.Oracle.OracleNumber" /> with its value set to the logarithm of the specified <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure in the supplied base. </summary>
      <remarks>This method is not available in <a href="DirectMode.html">Direct</a> mode. </remarks>
      <keywords>OracleNumber.Log method </keywords>
      <param name="value">An <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure whose logarithm is to be calculated. </param>
      <param name="logBase">An <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure that specifies the base of the logarithm. </param>
      <returns>A new <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.Log(Devart.Data.Oracle.OracleNumber,System.Int32)">
      <summary>Calculates a new <see cref="T:Devart.Data.Oracle.OracleNumber" /> with its value set to the logarithm of the <see cref="T:Devart.Data.Oracle.OracleNumber" /> in the specified base. </summary>
      <remarks>This method is not available in <a href="DirectMode.html">Direct</a> mode. </remarks>
      <keywords>OracleNumber.Log method </keywords>
      <param name="value">The specified <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure. </param>
      <param name="logBase">The specified base of the logarithm. </param>
      <returns>A new <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.Log10(Devart.Data.Oracle.OracleNumber)">
      <summary>Calculates a new <see cref="T:Devart.Data.Oracle.OracleNumber" /> with its value set to base 10 logarithm of the specified <see cref="T:Devart.Data.Oracle.OracleNumber" />. </summary>
      <remarks>This method is not available in <a href="DirectMode.html">Direct</a> mode. </remarks>
      <keywords>OracleNumber.Log10 method </keywords>
      <param name="value">The specified <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure. </param>
      <returns>A new <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure with its value set to base 10 logarithm. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.Max(Devart.Data.Oracle.OracleNumber,Devart.Data.Oracle.OracleNumber)">
      <summary>Gets the maximum value of the two specified <see cref="T:Devart.Data.Oracle.OracleNumber" /> structures. </summary>
      <keywords>OracleNumber.Max method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleNumber" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleNumber" />. </param>
      <returns>An <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure that has the greater value. </returns>
    </member>
    <member name="F:Devart.Data.Oracle.OracleNumber.MaxPrecision">
      <summary>Represents the maximum precision, which is 38. </summary>
      <keywords>OracleNumber.MaxPrecision field </keywords>
    </member>
    <member name="F:Devart.Data.Oracle.OracleNumber.MaxScale">
      <summary>Represents the maximum scale, which is 127. </summary>
      <keywords>OracleNumber.MaxScale field </keywords>
    </member>
    <member name="F:Devart.Data.Oracle.OracleNumber.MaxValue">
      <summary>Represents the maximum value of an <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure. </summary>
      <remarks>The maximum value is 9.9...9 x 10(125) (38 nines followed by 88 zeroes). </remarks>
      <keywords>OracleNumber.MaxValue field </keywords>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.Min(Devart.Data.Oracle.OracleNumber,Devart.Data.Oracle.OracleNumber)">
      <summary>Gets the minimum value of the two specified <see cref="T:Devart.Data.Oracle.OracleNumber" /> structures. </summary>
      <keywords>OracleNumber.Min method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleNumber" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleNumber" />. </param>
      <returns>An <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure that has the smaller value. </returns>
    </member>
    <member name="F:Devart.Data.Oracle.OracleNumber.MinScale">
      <summary>Represents the minimum scale, which is -84. </summary>
      <keywords>OracleNumber.MinScale field </keywords>
    </member>
    <member name="F:Devart.Data.Oracle.OracleNumber.MinValue">
      <summary>Represents the minimum value of an <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure. </summary>
      <remarks>The minimum value is -1.0 x 10(130). </remarks>
      <keywords>OracleNumber.MinValue field </keywords>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.Modulo(Devart.Data.Oracle.OracleNumber,Devart.Data.Oracle.OracleNumber)">
      <summary>Calculates the modulus from the results of dividing the first <see cref="T:Devart.Data.Oracle.OracleNumber" /> by the second. </summary>
      <remarks>This method is not available in <a href="DirectMode.html">Direct</a> mode. </remarks>
      <keywords>OracleNumber.Modulo method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleNumber" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleNumber" />. </param>
      <returns>A new <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.Multiply(Devart.Data.Oracle.OracleNumber,Devart.Data.Oracle.OracleNumber)">
      <summary>Multiplies two <see cref="T:Devart.Data.Oracle.OracleNumber" /> structures. </summary>
      <remarks>This method is not available in <a href="DirectMode.html">Direct</a> mode. </remarks>
      <keywords>OracleNumber.Multiply method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleNumber" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleNumber" />. </param>
      <returns>A new <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.Negate(Devart.Data.Oracle.OracleNumber)">
      <summary>Negates the value of the specified <see cref="T:Devart.Data.Oracle.OracleNumber" />. </summary>
      <remarks>This method is not available in <a href="DirectMode.html">Direct</a> mode. </remarks>
      <keywords>OracleNumber.Negate method </keywords>
      <param name="value">The specified <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure. </param>
      <returns>A new <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.NotEquals(Devart.Data.Oracle.OracleNumber,Devart.Data.Oracle.OracleNumber)">
      <summary>Determines whether two <see cref="T:Devart.Data.Oracle.OracleNumber" /> values are not equal. </summary>
      <keywords>OracleNumber.NotEquals method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleNumber" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleNumber" />. </param>
      <returns><see langword="true" /> if two <see cref="T:Devart.Data.Oracle.OracleNumber" /> values are not equal; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="F:Devart.Data.Oracle.OracleNumber.Null">
      <summary>Represents a null value that can be assigned to the <see cref="P:Devart.Data.Oracle.OracleNumber.Value" /> property of an <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure. </summary>
      <keywords>OracleNumber.Null field </keywords>
    </member>
    <member name="F:Devart.Data.Oracle.OracleNumber.One">
      <summary>Represents the positive one value. </summary>
      <keywords>OracleNumber.One field </keywords>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.Parse(System.String)">
      <summary>Converts a <see cref="T:System.String" /> representation of a number to its <see cref="T:Devart.Data.Oracle.OracleNumber" /> equivalent. </summary>
      <keywords>OracleNumber.Parse method </keywords>
      <param name="value">The <see cref="T:System.String" /> to be parsed. </param>
      <returns>A new <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure. </returns>
      <overloads>Converts a <see cref="T:System.String" /> representation of a number to its <see cref="T:Devart.Data.Oracle.OracleNumber" /> equivalent. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.Parse(System.String,System.String)">
      <summary>Converts a <see cref="T:System.String" /> representation of a number to its <see cref="T:Devart.Data.Oracle.OracleNumber" /> equivalent using the specified format. </summary>
      <keywords>OracleNumber.Parse method </keywords>
      <param name="value">The <see cref="T:System.String" /> to be parsed. </param>
      <param name="format">The format to use. </param>
      <returns>A new <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure. </returns>
    </member>
    <member name="F:Devart.Data.Oracle.OracleNumber.Pi">
      <summary>Represents the numeric Pi value. </summary>
      <keywords>OracleNumber.Pi field </keywords>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.Pow(Devart.Data.Oracle.OracleNumber,Devart.Data.Oracle.OracleNumber)">
      <summary>Calculates a new <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure with its value set to the specified <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure raised to the specified <see cref="T:Devart.Data.Oracle.OracleNumber" /> power. </summary>
      <remarks>This method is not available in <a href="DirectMode.html">Direct</a> mode. </remarks>
      <keywords>OracleNumber.Pow method </keywords>
      <param name="value">The specified <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure. </param>
      <param name="power">The <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure that specifies the power. </param>
      <returns>A new <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure. </returns>
      <overloads>Returns a specified <see cref="T:Devart.Data.Oracle.OracleNumber" /> raised to the specified power. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.Pow(Devart.Data.Oracle.OracleNumber,System.Int32)">
      <summary>Calculates a new <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure with its value set to the specified <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure raised to the specified power. </summary>
      <remarks>This method is not available in <a href="DirectMode.html">Direct</a> mode. </remarks>
      <keywords>OracleNumber.Pow method </keywords>
      <param name="value">The specified <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure. </param>
      <param name="power">A value that specifies the power. </param>
      <returns>A new <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.Round(Devart.Data.Oracle.OracleNumber,System.Int32)">
      <summary>Rounds the specified <see cref="T:Devart.Data.Oracle.OracleNumber" /> off to the specified precision. </summary>
      <remarks>This method is not available in <a href="DirectMode.html">Direct</a> mode. </remarks>
      <keywords>OracleNumber.Round method </keywords>
      <param name="value">The specified <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure. </param>
      <param name="position">The number of significant fractional digits (precision) in the return value. </param>
      <returns>An <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure containing the results of the rounding operation. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.Shift(Devart.Data.Oracle.OracleNumber,System.Int32)">
      <summary>Shifts the <see cref="T:Devart.Data.Oracle.OracleNumber" /> value to the specified number of digits to the right. </summary>
      <keywords>OracleNumber.Shift method </keywords>
      <param name="value">The specified <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure. </param>
      <param name="digits">The specified number of places to be shifted. </param>
      <returns>A new <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.Sign(Devart.Data.Oracle.OracleNumber)">
      <summary>Gets the sign of the <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure. </summary>
      <remarks><list type="table">
  <listheader>
    <term>Return Value</term>
    <description>Condition</description>
  </listheader>
  <item>
    <term>-1</term>
    <description>If the specified <see cref="T:Devart.Data.Oracle.OracleNumber" /> is less than 0.</description>
  </item>
  <item>
    <term>0</term>
    <description>If the specified <see cref="T:Devart.Data.Oracle.OracleNumber" /> is equal to 0.</description>
   </item>
   <item>
     <term>1</term>
     <description>If the specified <see cref="T:Devart.Data.Oracle.OracleNumber" /> is greater than 0.</description>
   </item>
</list>
This method is not available in <a href="DirectMode.html">Direct</a> mode. </remarks>
      <keywords>OracleNumber.Sign method </keywords>
      <param name="value">The specified <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure. </param>
      <returns>A number indicating the sign of the <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.Sin(Devart.Data.Oracle.OracleNumber)">
      <summary>Calculates the sine of the specified angle in radian. </summary>
      <remarks>This method is not available in <a href="DirectMode.html">Direct</a> mode. </remarks>
      <keywords>OracleNumber.Sin method </keywords>
      <param name="value">An <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure that represents an angle in radian. </param>
      <returns>An <see cref="T:Devart.Data.Oracle.OracleNumber" /> instance. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.Sinh(Devart.Data.Oracle.OracleNumber)">
      <summary>Calculates the hyperbolic sine of the specified angle in radian. </summary>
      <remarks>This method is not available in <a href="DirectMode.html">Direct</a> mode. </remarks>
      <keywords>OracleNumber.Sinh method </keywords>
      <param name="value">An <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure that represents an angle in radian. </param>
      <returns>An <see cref="T:Devart.Data.Oracle.OracleNumber" /> instance. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.Sqrt(Devart.Data.Oracle.OracleNumber)">
      <summary>Calculates the square root of the <see cref="T:Devart.Data.Oracle.OracleNumber" /> parameter. </summary>
      <remarks>This method is not available in <a href="DirectMode.html">Direct</a> mode. </remarks>
      <keywords>OracleNumber.Sqrt method </keywords>
      <param name="value">The specified <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure. </param>
      <returns>A new <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.Subtract(Devart.Data.Oracle.OracleNumber,Devart.Data.Oracle.OracleNumber)">
      <summary>Subtracts one <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure from another. </summary>
      <remarks>This method is not available in <a href="DirectMode.html">Direct</a> mode. </remarks>
      <keywords>OracleNumber.Subtract method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleNumber" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleNumber" />. </param>
      <returns>A new <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.Tan(Devart.Data.Oracle.OracleNumber)">
      <summary>Calculates the tangent of the specified angle in radian. </summary>
      <remarks>This method is not available in <a href="DirectMode.html">Direct</a> mode. </remarks>
      <keywords>OracleNumber.Tan method </keywords>
      <param name="value">An <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure that represents an angle in radian. </param>
      <returns>An <see cref="T:Devart.Data.Oracle.OracleNumber" /> instance. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.Tanh(Devart.Data.Oracle.OracleNumber)">
      <summary>Calculates the hyperbolic tangent of the specified angle in radian. </summary>
      <remarks>This method is not available in <a href="DirectMode.html">Direct</a> mode. </remarks>
      <keywords>OracleNumber.Tanh method </keywords>
      <param name="value">An <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure that represents an angle in radian. </param>
      <returns>An <see cref="T:Devart.Data.Oracle.OracleNumber" /> instance. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.ToDecimal(Devart.Data.Oracle.OracleNumber)">
      <summary>Converts the <see cref="T:Devart.Data.Oracle.OracleNumber" /> parameter to <see cref="T:System.Decimal" />. </summary>
      <keywords>OracleNumber.ToDecimal method </keywords>
      <param name="val">The <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure to be converted. </param>
      <returns>A new <see cref="T:System.Decimal" /> structure. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.ToDouble(Devart.Data.Oracle.OracleNumber)">
      <summary>Converts the <see cref="T:Devart.Data.Oracle.OracleNumber" /> parameter to <see cref="T:System.Double" />. </summary>
      <keywords>OracleNumber.ToDouble method </keywords>
      <param name="val">The <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure to be converted. </param>
      <returns>A new <see cref="T:System.Double" /> structure. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.ToFloat(Devart.Data.Oracle.OracleNumber)">
      <summary>Converts the <see cref="T:Devart.Data.Oracle.OracleNumber" /> parameter to <see cref="T:System.Float" />. </summary>
      <keywords>OracleNumber.ToFloat method </keywords>
      <param name="val">The <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure to be converted. </param>
      <returns>A new <see cref="T:System.Float" /> structure. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.ToInt32(Devart.Data.Oracle.OracleNumber)">
      <summary>Converts the <see cref="T:Devart.Data.Oracle.OracleNumber" /> parameter to <see cref="T:System.Int32" />. </summary>
      <keywords>OracleNumber.ToInt32 method </keywords>
      <param name="val">The <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure to be converted. </param>
      <returns>A new <see cref="T:System.Int32" /> structure. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.ToInt64(Devart.Data.Oracle.OracleNumber)">
      <summary>Converts the <see cref="T:Devart.Data.Oracle.OracleNumber" /> parameter to <see cref="T:System.Int64" />. </summary>
      <keywords>OracleNumber.ToInt64 method </keywords>
      <param name="val">The <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure to be converted. </param>
      <returns>A new <see cref="T:System.Int64" /> structure. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.ToString()">
      <summary>Converts the current <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure to a <see cref="T:System.String" />. </summary>
      <keywords>OracleNumber.ToString method </keywords>
      <returns>A <see cref="T:System.String" /> representing the <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure. </returns>
      <overloads>Converts the current <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure to a <see cref="T:System.String" />. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.ToString(System.String)">
      <summary>Converts the current <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure to a <see cref="T:System.String" /> using the specified format. </summary>
      <keywords>OracleNumber.ToString method </keywords>
      <param name="format">The format to use. </param>
      <returns>A <see cref="T:System.String" /> representing the <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.Truncate(Devart.Data.Oracle.OracleNumber,System.Int32)">
      <summary>Truncates the <see cref="T:Devart.Data.Oracle.OracleNumber" /> at a specified position. </summary>
      <remarks>This method is not available in <a href="DirectMode.html">Direct</a> mode. </remarks>
      <keywords>OracleNumber.Truncate method </keywords>
      <param name="value">The specified <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure. </param>
      <param name="position">The decimal position to which the number will be truncated. </param>
      <returns>A new <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure. </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleNumber.Value">
      <summary>Gets the value of the <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure. </summary>
      <keywords>OracleNumber.Value property </keywords>
      <value>A decimal value. </value>
    </member>
    <member name="F:Devart.Data.Oracle.OracleNumber.Zero">
      <summary>Represents the zero value. </summary>
      <keywords>OracleNumber.Zero field </keywords>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.op_Addition(Devart.Data.Oracle.OracleNumber,Devart.Data.Oracle.OracleNumber)">
      <summary>Calculates the sum of the two  <see cref="T:Devart.Data.Oracle.OracleNumber" /> structures. </summary>
      <remarks>This member is not available in <a href="DirectMode.html">Direct</a> mode. </remarks>
      <keywords>OracleNumber.op_Addition method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleNumber" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleNumber" />. </param>
      <returns>A new <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.op_Division(Devart.Data.Oracle.OracleNumber,Devart.Data.Oracle.OracleNumber)">
      <summary>Divides one <see cref="T:Devart.Data.Oracle.OracleNumber" /> value by another. </summary>
      <remarks>This member is not available in <a href="DirectMode.html">Direct</a> mode. </remarks>
      <keywords>OracleNumber.op_Division method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleNumber" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleNumber" />. </param>
      <returns>A new <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.op_Equality(Devart.Data.Oracle.OracleNumber,Devart.Data.Oracle.OracleNumber)">
      <summary>Determines whether two <see cref="T:Devart.Data.Oracle.OracleNumber" /> values are equal. </summary>
      <keywords>OracleNumber.op_Equality method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleNumber" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleNumber" />. </param>
      <returns><see langword="true" /> if two <see cref="T:Devart.Data.Oracle.OracleNumber" /> values are equal; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.op_Explicit(Devart.Data.Oracle.OracleNumber)~System.Decimal">
      <summary>Converts the <see cref="T:Devart.Data.Oracle.OracleNumber" /> parameter to <see cref="T:System.Decimal" />. </summary>
      <keywords>OracleNumber.op_Explicit method </keywords>
      <param name="val">The <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure to be converted. </param>
      <returns>A new <see cref="T:System.Decimal" /> structure. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.op_Explicit(Devart.Data.Oracle.OracleNumber)~System.Double">
      <summary>Converts the <see cref="T:Devart.Data.Oracle.OracleNumber" /> parameter to <see cref="T:System.Double" />. </summary>
      <keywords>OracleNumber.op_Explicit method </keywords>
      <param name="val">The <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure to be converted. </param>
      <returns>A new <see cref="T:System.Double" /> structure. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.op_Explicit(Devart.Data.Oracle.OracleNumber)~System.Int32">
      <summary>Converts the <see cref="T:Devart.Data.Oracle.OracleNumber" /> parameter to <see cref="T:System.Int32" />. </summary>
      <keywords>OracleNumber.op_Explicit method </keywords>
      <param name="val">The <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure to be converted. </param>
      <returns>A new <see cref="T:System.Int32" /> structure. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.op_Explicit(Devart.Data.Oracle.OracleNumber)~System.Int64">
      <summary>Converts the <see cref="T:Devart.Data.Oracle.OracleNumber" /> parameter to <see cref="T:System.Int64" />. </summary>
      <keywords>OracleNumber.op_Explicit method </keywords>
      <param name="val">The <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure to be converted. </param>
      <returns>A new <see cref="T:System.Int64" /> structure. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.op_Explicit(System.Double)~Devart.Data.Oracle.OracleNumber">
      <summary>Converts the <see cref="T:System.Double" /> parameter to the <see cref="T:Devart.Data.Oracle.OracleNumber" />. </summary>
      <keywords>OracleNumber.op_Explicit method </keywords>
      <param name="value">The specified <see cref="T:System.Double" />. </param>
      <returns>A <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.op_Explicit(System.String)~Devart.Data.Oracle.OracleNumber">
      <summary>Converts the <see cref="T:System.String" /> parameter to the <see cref="T:Devart.Data.Oracle.OracleNumber" />. </summary>
      <keywords>OracleNumber.op_Explicit method </keywords>
      <param name="value">The <see cref="T:System.String" /> that represents a numeric value. </param>
      <returns>A <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.op_GreaterThan(Devart.Data.Oracle.OracleNumber,Devart.Data.Oracle.OracleNumber)">
      <summary>Compares two <see cref="T:Devart.Data.Oracle.OracleNumber" /> structures to determine if the first is greater than the second. </summary>
      <keywords>OracleNumber.op_GreaterThan method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleNumber" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleNumber" />. </param>
      <returns><see langword="true" /> if the first of two <see cref="T:Devart.Data.Oracle.OracleNumber" /> values is greater than the second; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.op_GreaterThanOrEqual(Devart.Data.Oracle.OracleNumber,Devart.Data.Oracle.OracleNumber)">
      <summary>Compares two <see cref="T:Devart.Data.Oracle.OracleNumber" /> structures to determine if the first is greater than or equal to the second. </summary>
      <keywords>OracleNumber.op_GreaterThanOrEqual method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleNumber" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleNumber" />. </param>
      <returns><see langword="true" /> if the first of two <see cref="T:Devart.Data.Oracle.OracleNumber" /> values is greater than or equal to the second; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.op_Implicit(System.Decimal)~Devart.Data.Oracle.OracleNumber">
      <summary>Converts the <see cref="T:System.Decimal" /> parameter to the <see cref="T:Devart.Data.Oracle.OracleNumber" />. </summary>
      <keywords>OracleNumber.op_Implicit method </keywords>
      <param name="value">The specified <see cref="T:System.Decimal" />. </param>
      <returns>A <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.op_Implicit(System.Int32)~Devart.Data.Oracle.OracleNumber">
      <summary>Converts the <see cref="T:System.Int32" /> parameter to the <see cref="T:Devart.Data.Oracle.OracleNumber" />. </summary>
      <keywords>OracleNumber.op_Implicit method </keywords>
      <param name="value">The specified <see cref="T:System.Int32" />. </param>
      <returns>A <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.op_Implicit(System.Int64)~Devart.Data.Oracle.OracleNumber">
      <summary>Converts the <see cref="T:System.Int64" /> parameter to the <see cref="T:Devart.Data.Oracle.OracleNumber" />. </summary>
      <keywords>OracleNumber.op_Implicit method </keywords>
      <param name="value">The specified <see cref="T:System.Int64" />. </param>
      <returns>A <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.op_Inequality(Devart.Data.Oracle.OracleNumber,Devart.Data.Oracle.OracleNumber)">
      <summary>Determines whether two <see cref="T:Devart.Data.Oracle.OracleNumber" /> values are not equal. </summary>
      <keywords>OracleNumber.op_Inequality method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleNumber" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleNumber" />. </param>
      <returns><see langword="true" /> if two <see cref="T:Devart.Data.Oracle.OracleNumber" /> values are not equal; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.op_LessThan(Devart.Data.Oracle.OracleNumber,Devart.Data.Oracle.OracleNumber)">
      <summary>Compares two <see cref="T:Devart.Data.Oracle.OracleNumber" /> structures to determine if the first is less than the second. </summary>
      <keywords>OracleNumber.op_LessThan method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleNumber" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleNumber" />. </param>
      <returns><see langword="true" /> if the first of two <see cref="T:Devart.Data.Oracle.OracleNumber" /> values is less than the second; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.op_LessThanOrEqual(Devart.Data.Oracle.OracleNumber,Devart.Data.Oracle.OracleNumber)">
      <summary>Compares two <see cref="T:Devart.Data.Oracle.OracleNumber" /> structures to determine if the first is less than or equal to the second. </summary>
      <keywords>OracleNumber.op_LessThanOrEqual method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleNumber" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleNumber" />. </param>
      <returns><see langword="true" /> if the first of two <see cref="T:Devart.Data.Oracle.OracleNumber" /> values is less than or equal to the second; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.op_Modulus(Devart.Data.Oracle.OracleNumber,Devart.Data.Oracle.OracleNumber)">
      <summary>Divides the value of the first <see cref="T:Devart.Data.Oracle.OracleNumber" /> by the value of the second, and returns the remainder. </summary>
      <remarks>This member is not available in <a href="DirectMode.html">Direct</a> mode. </remarks>
      <keywords>OracleNumber.op_Modulus method </keywords>
      <param name="value">First <see cref="T:Devart.Data.Oracle.OracleNumber" />. </param>
      <param name="devider">Second <see cref="T:Devart.Data.Oracle.OracleNumber" />. </param>
      <returns>A new <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.op_Multiply(Devart.Data.Oracle.OracleNumber,Devart.Data.Oracle.OracleNumber)">
      <summary>Multiplies two <see cref="T:Devart.Data.Oracle.OracleNumber" /> structures. </summary>
      <remarks>This member is not available in <a href="DirectMode.html">Direct</a> mode. </remarks>
      <keywords>OracleNumber.op_Multiply method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleNumber" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleNumber" />. </param>
      <returns>A new <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumber.op_Subtraction(Devart.Data.Oracle.OracleNumber,Devart.Data.Oracle.OracleNumber)">
      <summary>Subtracts one <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure from another. </summary>
      <remarks>This member is not available in <a href="DirectMode.html">Direct</a> mode. </remarks>
      <keywords>OracleNumber.op_Subtraction method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleNumber" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleNumber" />. </param>
      <returns>A new <see cref="T:Devart.Data.Oracle.OracleNumber" /> structure. </returns>
    </member>
    <member name="T:Devart.Data.Oracle.OracleNumberMapping">
      <summary>Represents a mapping between .NET and Oracle number types. </summary>
      <seealso cref="T:Devart.Data.Oracle.OracleNumberMappingCollection" />
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumberMapping.#ctor()">
      <summary>Creates an <see cref="T:Devart.Data.Oracle.OracleNumberMapping" /> object with default mapping. </summary>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumberMapping.#ctor(Devart.Data.Oracle.OracleNumberType,System.Int32,System.Int32,System.Type)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleNumberMapping" /> class. </summary>
      <param name="numberType">The Oracle number type being mapped. </param>
      <param name="fromPrecision">The minimal precision of Oracle number for which it should be mapped to the specified .NET type. </param>
      <param name="toPrecision">The maximal precision of Oracle number for which it should be mapped to the specified .NET type. </param>
      <param name="valueType">The .NET type to which the Oracle number is mapped. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumberMapping.#ctor(Devart.Data.Oracle.OracleNumberType,System.Int32,System.Type)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleNumberMapping" /> class. </summary>
      <param name="numberType">The Oracle number type being mapped. </param>
      <param name="precision">The precision of Oracle number for which it should be mapped to the specified .NET type. </param>
      <param name="valueType">The .NET type to which the Oracle number is mapped. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumberMapping.Clone()">
      <summary>Creates a new <see cref="T:Devart.Data.Oracle.OracleNumberMapping" /> object that is a copy of the current instance. </summary>
      <keywords>OracleNumberMapping.Clone method </keywords>
      <returns>A new <see cref="T:Devart.Data.Oracle.OracleNumberMapping" /> object that is a copy of this instance. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumberMapping.Equals(Devart.Data.Oracle.OracleNumberMapping)">
      <summary>Indicates whether the current <see cref="T:Devart.Data.Oracle.OracleNumberMapping" /> object is equal to the one passed as the <i>other</i> parameter. </summary>
      <keywords>OracleNumberMapping.Equals method </keywords>
      <param name="other">The <see cref="T:Devart.Data.Oracle.OracleNumberMapping" /> to compare with. </param>
      <returns><see langword="true" /> if the objects are eual; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumberMapping.Equals(System.Object)">
      <summary>Indicates whether the current <see cref="T:Devart.Data.Oracle.OracleNumberMapping" /> instance is equal to the one passed as the <i>other</i> parameter. </summary>
      <keywords>OracleNumberMapping.Equals method </keywords>
      <param name="obj">The <see cref="T:Devart.Data.Oracle.OracleNumberMapping" /> instance to compare the current one with. </param>
      <returns><see langword="true" /> if the <see cref="T:Devart.Data.Oracle.OracleNumberMapping" /> objects are eual; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleNumberMapping.FromPrecision">
      <summary>Gets the minimal precision of Oracle number for which it is mapped to the specified .NET type. </summary>
      <keywords>OracleNumberMapping.FromPrecision property </keywords>
      <value>The minimal precision of Oracle number for which it is mapped to the specified .NET type. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumberMapping.GetHashCode()">
      <summary>Gets the hash code of the current <see cref="T:Devart.Data.Oracle.OracleNumberMapping" /> object. </summary>
      <keywords>OracleNumberMapping.GetHashCode method </keywords>
      <returns>The hash code of the current <see cref="T:Devart.Data.Oracle.OracleNumberMapping" /> object. </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleNumberMapping.NumberType">
      <summary>Gets the Oracle number type being mapped. </summary>
      <keywords>OracleNumberMapping.NumberType property </keywords>
      <value>The Oracle number type being mapped. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleNumberMapping.ToPrecision">
      <summary>Gets the maximal precision of Oracle number for which it is mapped to the specified .NET type. </summary>
      <keywords>OracleNumberMapping.ToPrecision property </keywords>
      <value>The maximal precision of Oracle number for which it is mapped to the specified .NET type. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumberMapping.ToString()">
      <summary>Returns the <see cref="T:Devart.Data.Oracle.OracleNumberMapping" /> object as the string representation. </summary>
      <remarks>Here are some examples of the <see cref="T:Devart.Data.Oracle.OracleNumberMapping" /> string representation: "(Integer, 1, 1, System.Boolean)",  "(FLOAT,12,15,System.Decimal)", "(NUMBER,7,9,System.Single)". </remarks>
      <keywords>OracleNumberMapping.ToString method </keywords>
      <returns>The string representation of the current <see cref="T:Devart.Data.Oracle.OracleNumberMapping" /> object. </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleNumberMapping.ValueType">
      <summary>Gets the .NET type to which the Oracle number is mapped. </summary>
      <keywords>OracleNumberMapping.ValueType property </keywords>
      <value>The .NET type to which the Oracle number is mapped. </value>
    </member>
    <member name="T:Devart.Data.Oracle.OracleNumberMappingCollection">
      <summary>Represents a collection of <see cref="T:Devart.Data.Oracle.OracleNumberMapping" /> objects. </summary>
      <remarks>Use this collection to set the <see cref="P:Devart.Data.Oracle.OracleConnection.NumberMappings" /> property of <see cref="T:Devart.Data.Oracle.OracleConnection" /> objects. It specifies to which .NET types the Oracle number types will be mapped. </remarks>
      <seealso cref="P:Devart.Data.Oracle.OracleConnection.NumberMappings" />
      <seealso cref="T:Devart.Data.Oracle.OracleNumberMapping" />
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumberMappingCollection.#ctor()">
      <summary>Creates an empty <see cref="T:Devart.Data.Oracle.OracleNumberMappingCollection" /> with capacity = 4. </summary>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumberMappingCollection.#ctor(System.Collections.Generic.IEnumerable`1{Devart.Data.Oracle.OracleNumberMapping})">
      <summary>Creates a new <see cref="T:Devart.Data.Oracle.OracleNumberMappingCollection" /> and fills it from the <i>values</i> parameter. </summary>
      <param name="values">The enumerator that is used to fill the collection. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumberMappingCollection.#ctor(System.Int32)">
      <summary>Creates an empty <see cref="T:Devart.Data.Oracle.OracleNumberMappingCollection" /> and allows you to set its capacity. </summary>
      <param name="capacity">The capacity of the new collection. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumberMappingCollection.Add(Devart.Data.Oracle.OracleNumberMapping)">
      <summary>Adds the specified <see cref="T:Devart.Data.Oracle.OracleNumberMapping" /> object to the collection. </summary>
      <keywords>OracleNumberMappingCollection.Add method </keywords>
      <param name="value">The <see cref="T:Devart.Data.Oracle.OracleNumberMapping" /> object to be added. </param>
      <overloads>Adds an <see cref="T:Devart.Data.Oracle.OracleNumberMapping" /> object to the collection. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumberMappingCollection.Add(Devart.Data.Oracle.OracleNumberType,System.Int32,System.Int32,System.Type)">
      <summary>Creates a new instance of the <see cref="T:Devart.Data.Oracle.OracleNumberMapping" /> class and adds it to the collection. </summary>
      <example>This sample demonstrates how to override default number mapping rules for the connection. <code lang="csharp">OracleConnection oracleConnection = new OracleConnection();

// Map NUMBER(10)..NUMBER(18)  to Int64
oracleConnection.NumberMappings.Add(OracleNumberType.Integer, 10, 18, typeof(Int64)); 

// Map NUMBER(1)  to Boolean
oracleConnection.NumberMappings.Add(OracleNumberType.Integer, 1, typeof(bool)); </code><code lang="vb">Dim oracleConnection as New OracleConnection

' Map NUMBER(10)..NUMBER(18)  to Int64
oracleConnection.NumberMappings.Add(OracleNumberType.Integer, 10, 18, GetType(Int64))

' Map NUMBER(1)  to Boolean
oracleConnection.NumberMappings.Add(OracleNumberType.Integer, 1, GetType(Boolean)) </code></example>
      <keywords>OracleNumberMappingCollection.Add method </keywords>
      <param name="numberType">The Oracle number type being mapped. </param>
      <param name="fromPrecision">The minimal precision of Oracle number for which it should be mapped to the specified .NET type. </param>
      <param name="toPrecision">The maximal precision of Oracle number for which it should be mapped to the specified .NET type. </param>
      <param name="valueType">The .NET type to which the Oracle number is mapped. </param>
      <returns>The created <see cref="T:Devart.Data.Oracle.OracleNumberMapping" /> object. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumberMappingCollection.Add(Devart.Data.Oracle.OracleNumberType,System.Int32,System.Type)">
      <summary>Creates a new instance of the <see cref="T:Devart.Data.Oracle.OracleNumberMapping" /> class and adds it to the collection. </summary>
      <example>This sample demonstrates how to override default number mapping rules. <code lang="csharp">OracleConnection oracleConnection = new OracleConnection();

// Map NUMBER(10)..NUMBER(18)  to Int64
oracleConnection.NumberMappings.Add(OracleNumberType.Integer, 10, 18, typeof(Int64)); 

// Map NUMBER(1)  to Boolean
oracleConnection.NumberMappings.Add(OracleNumberType.Integer, 1, typeof(bool)); </code><code lang="vb">Dim oracleConnection as New OracleConnection

' Map NUMBER(10)..NUMBER(18)  to Int64
oracleConnection.NumberMappings.Add(OracleNumberType.Integer, 10, 18, GetType(Int64))

' Map NUMBER(1)  to Boolean
oracleConnection.NumberMappings.Add(OracleNumberType.Integer, 1, GetType(Boolean)) </code></example>
      <keywords>OracleNumberMappingCollection.Add method </keywords>
      <param name="numberType">The Oracle number type being mapped. </param>
      <param name="precision">The precision of Oracle number for which it should be mapped to the specified .NET type. </param>
      <param name="valueType">The .NET type to which the Oracle number is mapped. </param>
      <returns>The created <see cref="T:Devart.Data.Oracle.OracleNumberMapping" /> object. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumberMappingCollection.AddRange(System.Collections.Generic.IEnumerable`1{Devart.Data.Oracle.OracleNumberMapping})">
      <summary>Adds <see cref="T:Devart.Data.Oracle.OracleNumberMapping" /> objects from the specified <i>values</i> parameter. </summary>
      <keywords>OracleNumberMappingCollection.AddRange method </keywords>
      <param name="values">The generic enumerator that is used to fill the collection. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumberMappingCollection.AddRange(System.Collections.IEnumerable)">
      <summary>Adds <see cref="T:Devart.Data.Oracle.OracleNumberMapping" /> objects from the specified <i>values</i> parameter. </summary>
      <keywords>OracleNumberMappingCollection.AddRange method </keywords>
      <param name="values">The enumerator that is used to get <see cref="T:Devart.Data.Oracle.OracleNumberMapping" /> objects to add to the collection. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumberMappingCollection.Clear()">
      <summary>Removes all objects from the collection. </summary>
      <keywords>OracleNumberMappingCollection.Clear method </keywords>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumberMappingCollection.Clone()">
      <summary>Creates a new <see cref="T:Devart.Data.Oracle.OracleNumberMappingCollection" /> object that is a copy of the current instance. </summary>
      <keywords>OracleNumberMappingCollection.Clone method </keywords>
      <returns>A new <see cref="T:Devart.Data.Oracle.OracleNumberMappingCollection" /> object that is a copy of this instance. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumberMappingCollection.Contains(Devart.Data.Oracle.OracleNumberMapping)">
      <summary>Indicates whether the collection contains the specified <see cref="T:Devart.Data.Oracle.OracleNumberMapping" /> object. </summary>
      <keywords>OracleNumberMappingCollection.Contains method </keywords>
      <param name="value">The <see cref="T:Devart.Data.Oracle.OracleNumberMapping" /> object to find. </param>
      <returns><see langword="true" /> if the <see cref="T:Devart.Data.Oracle.OracleNumberMapping" /> is in the collection; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumberMappingCollection.CopyTo(System.Array,System.Int32)">
      <summary>Copies<see cref="T:Devart.Data.Oracle.OracleNumberMapping" /> objects from the <see cref="T:Devart.Data.Oracle.OracleNumberMappingCollection" /> to the specified array. </summary>
      <keywords>OracleNumberMappingCollection.CopyTo method </keywords>
      <param name="array">The array into which to copy the <see cref="T:Devart.Data.Oracle.OracleNumberMapping" /> objects. </param>
      <param name="index">The zero-based index of the array. </param>
    </member>
    <member name="P:Devart.Data.Oracle.OracleNumberMappingCollection.Count">
      <summary>Gets the number of elements contained in the collection. </summary>
      <keywords>OracleNumberMappingCollection.Count property </keywords>
      <value>The number of elements contained in the collection. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumberMappingCollection.Equals(Devart.Data.Oracle.OracleNumberMappingCollection)">
      <summary>Indicates whether the current <see cref="T:Devart.Data.Oracle.OracleNumberMappingCollection" /> object is equal to the one passed as the <i>other</i> parameter. </summary>
      <keywords>OracleNumberMappingCollection.Equals method </keywords>
      <param name="other">The <see cref="T:Devart.Data.Oracle.OracleNumberMappingCollection" /> to compare with. </param>
      <returns><see langword="true" /> if the objects are eual; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumberMappingCollection.Equals(System.Object)">
      <summary>Indicates whether the current <see cref="T:Devart.Data.Oracle.OracleNumberMapping" /> instance is equal to the one passed as the <i>other</i> parameter. </summary>
      <keywords>OracleNumberMappingCollection.Equals method </keywords>
      <param name="obj">The <see cref="T:Devart.Data.Oracle.OracleNumberMapping" /> instance to compare the current one with. </param>
      <returns><see langword="true" /> if the <see cref="T:Devart.Data.Oracle.OracleNumberMapping" /> objects are eual; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumberMappingCollection.GetEnumerator()">
      <summary>Returns an enumerator for the <see cref="T:Devart.Data.Oracle.OracleNumberMappingCollection" />. </summary>
      <keywords>OracleNumberMappingCollection.GetEnumerator method </keywords>
      <returns>An enumerator for the <see cref="T:Devart.Data.Oracle.OracleNumberMappingCollection" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumberMappingCollection.GetHashCode()">
      <summary>Gets the hash code of the current <see cref="T:Devart.Data.Oracle.OracleNumberMappingCollection" /> object. </summary>
      <keywords>OracleNumberMappingCollection.GetHashCode method </keywords>
      <returns>The hash code of the current <see cref="T:Devart.Data.Oracle.OracleNumberMappingCollection" /> object. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumberMappingCollection.IndexOf(Devart.Data.Oracle.OracleNumberMapping)">
      <summary>Gets the location of the <see cref="T:Devart.Data.Oracle.OracleNumberMapping" /> object in the collection. </summary>
      <keywords>OracleNumberMappingCollection.IndexOf method </keywords>
      <param name="value">The <see cref="T:Devart.Data.Oracle.OracleNumberMapping" /> object to find. </param>
      <returns>The zero-based location of the <see cref="T:Devart.Data.Oracle.OracleNumberMapping" /> in the collection. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumberMappingCollection.Insert(System.Int32,Devart.Data.Oracle.OracleNumberMapping)">
      <summary>Inserts the specified <see cref="T:Devart.Data.Oracle.OracleNumberMapping" /> object into the collection at the specified index. </summary>
      <keywords>OracleNumberMappingCollection.Insert method </keywords>
      <param name="index">The zero-based index where to insert the object. </param>
      <param name="value">The <see cref="T:Devart.Data.Oracle.OracleNumberMapping" /> object to add to the collection. </param>
    </member>
    <member name="P:Devart.Data.Oracle.OracleNumberMappingCollection.Item(System.Int32)">
      <summary>Gets or sets <see cref="T:Devart.Data.Oracle.OracleNumberMapping" /> object at the specified index in the collection. </summary>
      <keywords>OracleNumberMappingCollection.Item property </keywords>
      <param name="index">The zero-based index of the agent. </param>
      <value>The <see cref="T:Devart.Data.Oracle.OracleNumberMapping" /> object at the specified index in the collection. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumberMappingCollection.Parse(System.String)">
      <summary>Parses a string representation of an <see cref="T:Devart.Data.Oracle.OracleNumberMappingCollection" /> and returns <see cref="T:Devart.Data.Oracle.OracleNumberMappingCollection" /> instance. </summary>
      <remarks>If the string value is not valid, throws an exception. </remarks>
      <keywords>OracleNumberMappingCollection.Parse method </keywords>
      <param name="value">The string representation of <see cref="T:Devart.Data.Oracle.OracleNumberMappingCollection" /> to parse. </param>
      <returns><see cref="T:Devart.Data.Oracle.OracleNumberMappingCollection" /> instance, corresponding to the string representation. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumberMappingCollection.Remove(Devart.Data.Oracle.OracleNumberMapping)">
      <summary>Removes the specified <see cref="T:Devart.Data.Oracle.OracleNumberMapping" /> object from the collection. </summary>
      <keywords>OracleNumberMappingCollection.Remove method </keywords>
      <param name="value">The <see cref="T:Devart.Data.Oracle.OracleNumberMapping" /> object to remove from the collection. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumberMappingCollection.RemoveAt(System.Int32)">
      <summary>Removes a <see cref="T:Devart.Data.Oracle.OracleNumberMapping" /> object at the specified index from the collection. </summary>
      <keywords>OracleNumberMappingCollection.RemoveAt method </keywords>
      <param name="index">The zero-based index of the object to remove. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumberMappingCollection.ToString()">
      <summary>Returns the <see cref="T:Devart.Data.Oracle.OracleNumberMapping" /> object as the string representation. </summary>
      <remarks>An example of an <see cref="T:Devart.Data.Oracle.OracleNumberMappingCollection" /> string representation: " ((Integer, 1, 5, System.Int16), (FLOAT,12,15,System.Decimal), (NUMBER,7,9,System.Single))" </remarks>
      <keywords>OracleNumberMappingCollection.ToString method </keywords>
      <returns>The string representation of the current <see cref="T:Devart.Data.Oracle.OracleNumberMapping" /> object. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleNumberMappingCollection.TryParse(System.String,Devart.Data.Oracle.OracleNumberMappingCollection@)">
      <summary>Parses a string representation of an <see cref="T:Devart.Data.Oracle.OracleNumberMappingCollection" /> and returns <see cref="T:Devart.Data.Oracle.OracleNumberMappingCollection" /> instance as an out parameter. </summary>
      <remarks>An example of an <see cref="T:Devart.Data.Oracle.OracleNumberMappingCollection" /> string representation: " ((Integer, 1, 5, System.Int16), (FLOAT,12,15,System.Decimal), (NUMBER,7,9,System.Single))" </remarks>
      <keywords>OracleNumberMappingCollection.TryParse method </keywords>
      <param name="value">The string representation of <see cref="T:Devart.Data.Oracle.OracleNumberMappingCollection" /> to parse. </param>
      <param name="numberMappings"><see cref="T:Devart.Data.Oracle.OracleNumberMappingCollection" /> instance, corresponding to the string representation. </param>
      <returns><see langword="true" /> if the string value is valid and is correctly parsed; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="T:Devart.Data.Oracle.OracleNumberType">
      <summary>Enumerates main Oracle number types. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleNumberType.Float">
      <summary>Corresponds to the FLOAT Oracle type. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleNumberType.Integer">
      <summary>Corresponds to the NUMBER Oracle type when the scale equals 0. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleNumberType.Number">
      <summary>Corresponds to the NUMBER Oracle type when the scale doesn't equal 0. </summary>
    </member>
    <member name="T:Devart.Data.Oracle.OracleObject">
      <summary>Represents a client-side cached Oracle object of type defined by user. </summary>
      <remarks>To retrieve values of object attributes <see cref="T:Devart.Data.Oracle.OracleObject" /> class uses <see cref="P:Devart.Data.Oracle.OracleObject.Item" /> indexed property.
<para>You can create an instance of <see cref="T:Devart.Data.Oracle.OracleObject" /> by one of the following ways:</para>
<para>  - execute a query that returns an object as one of the fields calling <see cref="M:Devart.Data.Oracle.OracleDataReader.GetOracleObject" /> method;</para>
<para>  - return an <see cref="T:Devart.Data.Oracle.OracleObject" /> instance as a parameter value of <see cref="T:Devart.Data.Oracle.OracleDbType" />.Object type;</para>
<para>  - get the <see cref="T:Devart.Data.Oracle.OracleObject" /> as a value of owned <see cref="T:Devart.Data.Oracle.OracleObject" /> attribute.</para>
<para>Also you can create an instance of <see cref="T:Devart.Data.Oracle.OracleObject" /> manually.</para>
<para>You can use <see cref="T:Devart.Data.Oracle.OracleObject" /> to pass object as a parameter value.</para>
<para>Note that <see cref="T:Devart.Data.Oracle.OracleObject" /> can be used in data binding with <b>DataGrid</b> as it implements <b>IListSource</b> interface.</para>
<para>This class is not available in <see cref="P:Devart.Data.Oracle.OracleConnection.Direct" /> mode.</para> </remarks>
      <example><para>This example demonstrates how to retrieve <see cref="T:Devart.Data.Oracle.OracleObject" /> instance from server and display its elements. To create required type and table and fill it with data you can use the following script:
<pre>CREATE TYPE TAddress AS OBJECT (
  Country VARCHAR2(30),
  City VARCHAR2(30),
  Street VARCHAR2(30),
  Apartment NUMBER
);

CREATE TABLE EmpObject (
  Code NUMBER PRIMARY KEY,
  Person VARCHAR2(40),
  Address TAddress,
  Job VARCHAR2(9)
);

INSERT INTO EmpObject
  (Code, Person, Address, Job)
VALUES
  (1, 'SMITH', TAddress('UK', 'London', 'Street', 12), 'CLERK');
INSERT INTO EmpObject
  (Code, Person, Address, Job)
VALUES
  (2, 'JONES', TAddress('USA', 'New York', 'Street', 418), 'MANAGER');
INSERT INTO EmpObject
  (Code, Person, Address, Job)
VALUES
  (3, 'SCOTT', TAddress('CANADA', 'Ottawa', 'Street', 26),'PRESIDENT');
INSERT INTO EmpObject
  (Code, Person, Address, Job)
VALUES
  (4, 'MARTIN', TAddress('FRANCE', 'Paris', 'Street', 162), 'ANALYST');
</pre>
</para> <code lang="csharp">OracleConnection connection = new OracleConnection("User Id=scott;Password=tiger;Data Source=ora");
OracleCommand command = new OracleCommand("SELECT * FROM EmpObject", connection);
connection.Open();
OracleDataReader dataReader = command.ExecuteReader();
try{
  int index = dataReader.GetOrdinal("Address");
  while (dataReader.Read()) {
    OracleObject oraObj = dataReader.GetOracleObject(index);
    if (!oraObj.IsNull) {
      string country = (string)oraObj["Country"];
      string city = (string)oraObj["City"];
      string street = (string)oraObj["Street"];
      decimal Apartment = (decimal)oraObj["Apartment"];
      Console.WriteLine(dataReader.GetString(0) + "   " + 
			dataReader.GetString(1) + "   " + "Adress: " + country + 
			", " + city + ", " + street + ", "+ Apartment.ToString() 
			+ "   " + dataReader.GetString(3));
    }
  }
}
catch (Devart.Data.Oracle.OracleException ex) {
  Console.WriteLine(ex.Message);
}
finally{
  dataReader.Close();
  connection.Close();
} </code><code lang="vb">Dim connection As New OracleConnection("User Id=scott;Password=tiger;Data Source=ora")
Dim command As New OracleCommand("SELECT * FROM EmpObject", connection)
connection.Open()
Dim dataReader As OracleDataReader = command.ExecuteReader()
Try
  Dim index As Integer = dataReader.GetOrdinal("Address")
  While dataReader.Read()
    Dim oraObj As OracleObject = dataReader.GetOracleObject(index)
    If Not oraObj.IsNull Then
      Dim country As String = oraObj("Country")
      Dim city As String = oraObj("City")
      Dim street As String = oraObj("Street")
      Dim Apartment As Decimal = oraObj("Apartment")
      Console.WriteLine(dataReader.GetString(0) &amp; "   " &amp; dataReader.GetString(1) &amp; "   " &amp; _
          "Adress: " &amp; country &amp; ", " &amp; city &amp; ", " &amp; street &amp; ", " &amp; _
          Apartment.ToString() &amp; "   " &amp; dataReader.GetString(3))
    End If
  End While
Catch ex As Devart.Data.Oracle.OracleException
  Console.WriteLine(ex.Message)
Finally
  dataReader.Close()
  connection.Close()
End Try </code></example>
    </member>
    <member name="M:Devart.Data.Oracle.OracleObject.#ctor(Devart.Data.Oracle.OracleType)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleObject" /> class. </summary>
      <remarks>Use this constructor to create an <see cref="T:Devart.Data.Oracle.OracleObject" /> and pass it as a parameter by assigning to <see cref="P:Devart.Common.DbParameterBase.Value" /> at the time of <see cref="T:Devart.Data.Oracle.OracleParameter" /> initialization. </remarks>
      <param name="oraType">An <see cref="T:Devart.Data.Oracle.OracleType" /> to create a new instance of the <see cref="T:Devart.Data.Oracle.OracleObject" />. </param>
      <overloads>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleObject" /> class. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleObject.#ctor(System.String,Devart.Data.Oracle.OracleConnection)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleObject" /> class. </summary>
      <remarks>Use this constructor to create an <see cref="T:Devart.Data.Oracle.OracleObject" /> and pass it as a parameter by assigning to <see cref="P:Devart.Common.DbParameterBase.Value" /> at the time of <see cref="T:Devart.Data.Oracle.OracleParameter" /> initialization. </remarks>
      <param name="typeName">Name of the object type at the Oracle server. </param>
      <param name="connection">An <see cref="T:Devart.Data.Oracle.OracleConnection" /> used to describe object type at the Oracle server. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleObject.Clone()">
      <summary>Creates a new object that is a copy of the current instance. </summary>
      <keywords>OracleObject.Clone method </keywords>
      <returns>A new <see cref="T:Devart.Data.Oracle.OracleObject" /> object. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleObject.ExecuteMethod(Devart.Data.Oracle.ICustomOracleObject,Devart.Data.Oracle.OracleConnection,System.String,System.String,Devart.Data.Oracle.OracleParameterCollection)">
      <summary>Calls the method of an Oracle object with the specified set of parameters. </summary>
      <keywords>OracleObject.ExecuteMethod method </keywords>
      <param name="obj">The object which method to execute. Can be either typed (i.e., an instance of a wizard-generated class) or untyped (i.e., an <see cref="T:Devart.Data.Oracle.OracleObject" /> instance). </param>
      <param name="connection">The connection to the Oracle database where the UDT used is declared. </param>
      <param name="typeName">The user-defined type which <i>obj</i> is an instance of. </param>
      <param name="methodName">The method to be invoked. </param>
      <param name="parameters">An <see cref="T:Devart.Data.Oracle.OracleParameterCollection" /> collection of method parameters. </param>
      <returns>The return value of the UDT method. </returns>
      <overloads>Invokes the specified method of an object of user-defined type. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleObject.ExecuteMethod(Devart.Data.Oracle.ICustomOracleObject,Devart.Data.Oracle.OracleConnection,System.String,System.String,Devart.Data.Oracle.OracleParameterCollection,System.Boolean)">
      <summary>Calls the method of an Oracle object with the specified set of parameters. </summary>
      <keywords>OracleObject.ExecuteMethod method </keywords>
      <param name="obj">The object which method to execute. Can be either typed (i.e., an instance of a wizard-generated class) or untyped (i.e., an <see cref="T:Devart.Data.Oracle.OracleObject" /> instance). </param>
      <param name="connection">The connection to the Oracle database where the UDT used is declared. </param>
      <param name="typeName">The user-defined type which <i>obj</i> is an instance of. </param>
      <param name="methodName">The method to be invoked. </param>
      <param name="parameters">An <see cref="T:Devart.Data.Oracle.OracleParameterCollection" /> collection of method parameters. </param>
      <param name="parameterCheck">A boolean specifying whether the parameter set should be generated automatically based on the UDT method's declaration. </param>
      <returns>The return value of the UDT method. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleObject.ExecuteMethod(Devart.Data.Oracle.ICustomOracleObject,Devart.Data.Oracle.OracleConnection,System.String,System.String,System.Object[])">
      <summary>Calls the method of an Oracle object with the specified set of parameters. </summary>
      <keywords>OracleObject.ExecuteMethod method </keywords>
      <param name="obj">The object which method to execute. Can be either typed (i.e., an instance of a wizard-generated class) or untyped (i.e., an <see cref="T:Devart.Data.Oracle.OracleObject" /> instance). </param>
      <param name="connection">The connection to the Oracle database where the UDT used is declared. </param>
      <param name="typeName">The user-defined type which <i>obj</i> is an instance of. </param>
      <param name="methodName">The method to be invoked. </param>
      <param name="parameters">The list of input parameters passed to the method. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleObject.ExecuteMethod(Devart.Data.Oracle.ICustomOracleObject,Devart.Data.Oracle.OracleConnection,System.String,System.String,System.Type,System.Object[])">
      <summary>Calls the method of an Oracle object with the specified set of parameters. </summary>
      <keywords>OracleObject.ExecuteMethod method </keywords>
      <param name="obj">The object which method to execute. Can be either typed (i.e., an instance of a wizard-generated class) or untyped (i.e., an <see cref="T:Devart.Data.Oracle.OracleObject" /> instance). </param>
      <param name="connection">The connection to the Oracle database where the UDT used is declared. </param>
      <param name="typeName">The user-defined type which <i>obj</i> is an instance of. </param>
      <param name="methodName">The method to be invoked. </param>
      <param name="resultType">The type of the method's return value. </param>
      <param name="parameters">The list of input parameters passed to the method. </param>
      <returns>The method's return value casted to the <i>resultType</i> type. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleObject.ExecuteMethod(Devart.Data.Oracle.OracleConnection,System.String,Devart.Data.Oracle.OracleParameterCollection)">
      <summary>Calls the method of an Oracle object with the specified set of parameters. </summary>
      <keywords>OracleObject.ExecuteMethod method </keywords>
      <param name="connection">The connection to the Oracle database where the UDT used is declared. </param>
      <param name="name">The method to be invoked. </param>
      <param name="parameters">An <see cref="T:Devart.Data.Oracle.OracleParameterCollection" /> collection of method parameters. </param>
      <returns>The return value of the UDT method. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleObject.ExecuteMethod(Devart.Data.Oracle.OracleConnection,System.String,Devart.Data.Oracle.OracleParameterCollection,System.Boolean)">
      <summary>Calls the method of an Oracle object with the specified set of parameters. </summary>
      <keywords>OracleObject.ExecuteMethod method </keywords>
      <param name="connection">The connection to the Oracle database where the UDT used is declared. </param>
      <param name="name">The method to be invoked. </param>
      <param name="parameters">An <see cref="T:Devart.Data.Oracle.OracleParameterCollection" /> collection of method parameters. </param>
      <param name="parameterCheck">A boolean specifying whether the parameter set should be generated automatically based on the UDT method's declaration. </param>
      <returns>The return value of the UDT method. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleObject.ExecuteMethod(Devart.Data.Oracle.OracleConnection,System.String,System.Object[])">
      <summary>Calls the method of an Oracle object with the specified set of parameters. </summary>
      <keywords>OracleObject.ExecuteMethod method </keywords>
      <param name="connection">The connection to the Oracle database where the UDT used is declared. </param>
      <param name="name">The method to be invoked. </param>
      <param name="parameters">The list of input parameters passed to the method. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleObject.ExecuteMethod(Devart.Data.Oracle.OracleConnection,System.String,System.Type,System.Object[])">
      <summary>Calls the method of an Oracle object with the specified set of parameters. </summary>
      <keywords>OracleObject.ExecuteMethod method </keywords>
      <param name="connection">The connection to the Oracle database where the UDT used is declared. </param>
      <param name="name">The method to be invoked. </param>
      <param name="resultType">The type of the method's return value. </param>
      <param name="parameters">The list of input parameters passed to the method. </param>
      <returns>The method's return value casted to the <i>resultType</i> type. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleObject.GetOracleValue(Devart.Data.Oracle.OracleAttribute)">
      <summary>Gets the value of the attribute in its Oracle format wrapped by dotConnect for Oracle. </summary>
      <remarks><see cref="M:Devart.Data.Oracle.OracleObject.GetOracleValue" /> returns data using the native Oracle types. To retrieve data using the .NET Framework types, see <see cref="P:Devart.Data.Oracle.OracleObject.Item" /> property. </remarks>
      <keywords>OracleObject.GetOracleValue method </keywords>
      <param name="attribute">An <see cref="T:Devart.Data.Oracle.OracleAttribute" /> object. </param>
      <returns>The value of the attribute as the dotConnect for Oracle wrapped type. </returns>
      <overloads>Gets the value of the attribute in its Oracle format wrapped by dotConnect for Oracle. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleObject.GetOracleValue(System.String)">
      <summary>Gets the value of the attribute in its Oracle format wrapped by dotConnect for Oracle. </summary>
      <remarks><see cref="M:Devart.Data.Oracle.OracleObject.GetOracleValue" /> returns data using the native Oracle types. To retrieve data using the .NET Framework types, see <see cref="P:Devart.Data.Oracle.OracleObject.Item" /> property. </remarks>
      <example><para>This example demonstrates how to retrieve <see cref="T:Devart.Data.Oracle.OracleObject" /> instance from server and display its elements. To create required type and table and fill it with data you can use the following script:
<pre>CREATE TYPE TAddress AS OBJECT (
  Country VARCHAR2(30),
  City VARCHAR2(30),
  Street VARCHAR2(30),
  Apartment NUMBER
);

CREATE TABLE EmpObject (
  Code NUMBER PRIMARY KEY,
  Person VARCHAR2(40),
  Address TAddress,
  Job VARCHAR2(9)
);

INSERT INTO EmpObject
  (Code, Person, Address, Job)
VALUES
  (1, 'SMITH', TAddress('UK', 'London', 'Street', 12), 'CLERK');
INSERT INTO EmpObject
  (Code, Person, Address, Job)
VALUES
  (2, 'JONES', TAddress('USA', 'New York', 'Street', 418), 'MANAGER');
INSERT INTO EmpObject
  (Code, Person, Address, Job)
VALUES
  (3, 'SCOTT', TAddress('CANADA', 'Ottawa', 'Street', 26),'PRESIDENT');
INSERT INTO EmpObject
  (Code, Person, Address, Job)
VALUES
  (4, 'MARTIN', TAddress('FRANCE', 'Paris', 'Street', 162), 'ANALYST');
</pre>
</para> <code lang="csharp">OracleConnection connection = new OracleConnection("User Id=scott;Password=tiger;Data Source=ora");
OracleCommand command = new OracleCommand("SELECT * FROM EmpObject", connection);
connection.Open();
OracleDataReader dataReader = command.ExecuteReader();
try{
  int index = dataReader.GetOrdinal("Address");
  while (dataReader.Read()) {
    OracleObject oraObj = dataReader.GetOracleObject(index);
    if (!oraObj.IsNull) {
      string country = (string)oraObj.GetOracleValue("Country");
      string city = (string)oraObj.GetOracleValue("City");
      string street = (string)oraObj.GetOracleValue("Street");
      decimal Apartment = (decimal)oraObj["Apartment"];
      Console.WriteLine(dataReader.GetString(0) + "   " + dataReader.GetString(1) + "   " + "Adress: " + country + ", " + city + ", " + street + ", "+ Apartment.ToString() + "   " + dataReader.GetString(3));
    }
  }
}
catch (Devart.Data.Oracle.OracleException ex) {
  Console.WriteLine(ex.Message);
}
finally{
  dataReader.Close();
  connection.Close();
} </code><code lang="vb">Dim connection As New OracleConnection("User Id=scott;Password=tiger;Data Source=ora")
Dim command As New OracleCommand("SELECT * FROM EmpObject", connection)
connection.Open()
Dim dataReader As OracleDataReader = command.ExecuteReader()
Try
  Dim index As Integer = dataReader.GetOrdinal("Address")
  While dataReader.Read()
    Dim oraObj As OracleObject = dataReader.GetOracleObject(index)
    If Not oraObj.IsNull Then
      Dim country As String = oraObj.GetOracleValue("Country")
      Dim city As String = oraObj.GetOracleValue("City")
      Dim street As String = oraObj.GetOracleValue("Street")
      Dim Apartment As Decimal = oraObj("Apartment")
      Console.WriteLine(dataReader.GetString(0) &amp; "   " &amp; dataReader.GetString(1) &amp; "   " &amp; "Adress: " &amp; country &amp; ", " &amp; city &amp; ", " &amp; street &amp; ", " &amp; Apartment.ToString() &amp; "   " &amp; dataReader.GetString(3))
    End If
  End While
Catch ex As Devart.Data.Oracle.OracleException
  Console.WriteLine(ex.Message)
Finally
  dataReader.Close()
  connection.Close()
End Try </code></example>
      <keywords>OracleObject.GetOracleValue method </keywords>
      <param name="attributeName">String that represents a full path to the attribute or the element of the array. </param>
      <returns>The value of the attribute as the dotConnect for Oracle wrapped type. </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleObject.IsNull">
      <summary>Indicates whether or not the <see cref="T:Devart.Data.Oracle.OracleObject" /> represents a null value. </summary>
      <keywords>OracleObject.IsNull property </keywords>
      <value><see langword="true" /> if the <see cref="T:Devart.Data.Oracle.OracleObject" /> represents a null value; otherwise, <see langword="false" />. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleObject.Item(Devart.Data.Oracle.OracleAttribute)">
      <summary>Gets or sets the value of the specified attribute. </summary>
      <remarks>The <see cref="P:Devart.Data.Oracle.OracleObject.Item" /> property allows retrieving values of the attributes of the <see cref="T:Devart.Data.Oracle.OracleObject" />. </remarks>
      <keywords>OracleObject.Item property </keywords>
      <param name="attribute">An <see cref="T:Devart.Data.Oracle.OracleAttribute" /> object. </param>
      <value>The value of the specified attribute. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleObject.Item(System.String)">
      <summary>Gets or sets the <see cref="T:Devart.Data.Oracle.OracleAttribute" /> or <see cref="T:Devart.Data.Oracle.OracleArray" /> element by the specified path. </summary>
      <remarks>You can get an attribute value of embedded object if you specify full path to this attribute. </remarks>
      <keywords>OracleObject.Item property </keywords>
      <param name="Name">String that represents a full path to the attribute or the element of the array. Note that it is case-sensitive. </param>
      <value>An <see cref="T:Devart.Data.Oracle.OracleAttribute" /> or <see cref="T:Devart.Data.Oracle.OracleArray" /> element by the specified path. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleObject.ObjectType">
      <summary>Gets an <see cref="T:Devart.Data.Oracle.OracleType" /> of the specified object. </summary>
      <keywords>OracleObject.ObjectType property </keywords>
      <value>An <see cref="T:Devart.Data.Oracle.OracleType" /> of the specified object. </value>
    </member>
    <member name="T:Devart.Data.Oracle.OracleObjectType">
      <summary>Describes Oracle object type for the <see cref="T:Devart.Data.Oracle.OracleError" /> class. Object type is a logical structure of data stored in a database. A brief definitions of corresponding Oracle structures are given below. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleObjectType.ConsumerGroup">
      <summary>A collection of user sessions that are grouped together based on their processing needs. When a session is created, it is automatically mapped to a consumer group based on mapping rules that you have set up. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleObjectType.EvaluationContext">
      <summary>A database object that defines external data that can be referenced in rule conditions. The external data can exist as variables, table data, or both. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleObjectType.Function">
      <summary>A schema object, similar to a procedure, that always returns a single value. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleObjectType.Index">
      <summary>Index is a schema object that contains an entry for each indexed row of the table or table cluster and provide direct, fast access to rows. Oracle Database supports several types of index. An index-organized table is a table in which the data is stored in an index structure. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleObjectType.Library">
      <summary>A schema object associated with an operating-system shared library. The name of this schema object can then be used in the call_spec of CREATE FUNCTION or CREATE PROCEDURE statements, or when declaring a function or procedure in a package or type, so that SQL and PL/SQL can call to third-generation-language (3GL) functions and procedures. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleObjectType.Lob">
      <summary>Large object. An Oracle data type designed to hold large amounts of data. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleObjectType.Operator">
      <summary>An Oracle structure that represents user-defined operator for manipulating data items. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleObjectType.Package">
      <summary>An encapsulated collection of related procedures, functions, and other program objects stored together in the database. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleObjectType.PackageBody">
      <summary>A collection of object definitions declared in a package. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleObjectType.Procedure">
      <summary>A schema object that consists of a set of SQL statements and other PL/SQL constructs, grouped together, stored in the database, and run as a unit to solve a specific problem or perform a set of related tasks. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleObjectType.Synonym">
      <summary>A synonym is an alias for another schema object. Because a synonym is simply an alias, it requires no storage other than its definition in the data dictionary. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleObjectType.Table">
      <summary>Basic unit of data storage in Oracle Database. Data in tables is stored in rows and columns. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleObjectType.Trigger">
      <summary>A PL/SQL procedure that fires when a table or view is modified or when specific user or database actions occur. Procedures are explicitly run, whereas triggers are implicitly run. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleObjectType.Type">
      <summary>An object type, represented by varying array (varray), a nested table type, or an Oracle object type. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleObjectType.TypeBody">
      <summary>A container for the member methods defined in the object type specification. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleObjectType.Unknown">
      <summary>Object type is not defined. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleObjectType.View">
      <summary>A customized presentation of data in one or more tables or other views. You can think of it as of stored query. View does not actually contain data. </summary>
    </member>
    <member name="T:Devart.Data.Oracle.OraclePackage">
      <summary>Provides access to packages stored in the Oracle database. </summary>
      <remarks>Use <see cref="T:Devart.Data.Oracle.OraclePackage" /> component to get access to packages stored in the Oracle database. Packages may encapsulate sets of procedures and functions along with related variables and constants. For a list of Oracle supplied packages refer to Oracle online documents.
<para>This class is available only in Professional and Developer Editions. It is not available in Standard and Mobile Editions.</para> </remarks>
      <example>The following example executes procedure with/without parameters and returns value. <code lang="csharp">public void ExecuteStoredProc(OracleConnection conn)
{
  OraclePackage package = new OraclePackage();

  // Set active connection
  // Connection must be opened
  package.Connection = conn;

  // Set package name where stored procedure exists
  package.PackageName = "dbms_random";

  // Execute procedure with parameters
  package.ExecuteProcedure("initialize", 10);

  // Execute procedure and return value
  object randomInt = package.ExecuteProcedure("random",typeof(Int));

  // Print returned value
  Console.WriteLine(randomInt);

  // Execute procedure without parameters
  package.ExecuteProcedure("terminate");
} </code><code lang="vb">Public Sub ExecuteStoredProc(conn As OracleConnection)
  Dim package As New OraclePackage()

  ' Set active connection
  ' Connection must be opened
  package.Connection = conn

  ' Set package name where stored procedure exists
  package.PackageName = "dbms_random"

  ' Execute procedure with parameters
  package.ExecuteProcedure("initialize", 10)

  ' Execute procedure and return value
  Dim randomInt As Object
  randomInt = package.ExecuteProcedure("random", GetType(Int))

  ' Print returned value
  Console.WriteLine(randomInt)

  ' Execute procedure without parameters
  package.ExecuteProcedure("terminate")
End Sub ' ExecuteStoredProc </code></example>
      <seealso cref="T:Devart.Data.Oracle.OracleCommand" />
      <seealso cref="T:Devart.Data.Oracle.OracleConnection" />
    </member>
    <member name="M:Devart.Data.Oracle.OraclePackage.#ctor()">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OraclePackage" /> class. </summary>
      <remarks>The base constructor initializes all fields to their default values. The following table shows initial values set to the read/write properties when a new instance of <see cref="T:Devart.Data.Oracle.OraclePackage" /> is created.
<list type="table">
  <listheader>
    <term>Properties</term>
    <description>Initial value</description>
  </listheader>
  <item>
    <term><see cref="P:Devart.Data.Oracle.OraclePackage.Connection" /></term>
    <description>null</description>
  </item>
  <item>
    <term><see cref="P:Devart.Data.Oracle.OraclePackage.PackageName" /></term>
    <description>an empty string ("")</description>
  </item>
</list> </remarks>
    </member>
    <member name="P:Devart.Data.Oracle.OraclePackage.Connection">
      <summary>Gets or sets the <see cref="T:Devart.Data.Oracle.OracleConnection" /> used by this instance of the <see cref="T:Devart.Data.Oracle.OraclePackage" />. </summary>
      <remarks>You must set <see cref="P:Devart.Data.Oracle.OraclePackage.Connection" /> property before executing any procedure. If the connection was closed <see cref="T:Devart.Data.Oracle.OraclePackage" /> opens it automatically. </remarks>
      <keywords>OraclePackage.Connection property </keywords>
      <value>The connection to a database. The default value is a null reference. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OraclePackage.DescribeProcedure(System.String)">
      <summary>Returns collection of parameters required to execute a procedure. </summary>
      <remarks>You can use <see cref="M:Devart.Data.Oracle.OraclePackage.DescribeProcedure(System.String)" /> method to obtain collection of parameters that can be passed to one of <see cref="M:Devart.Data.Oracle.OraclePackage.ExecuteProcedure" /> overloads. It is most efficient to to describe a procedure and execute it several times then changing parameters' values only. </remarks>
      <seealso cref="M:Devart.Data.Oracle.OraclePackage.ExecuteProcedure" />
      <keywords>OraclePackage.DescribeProcedure method </keywords>
      <param name="name">Name of the procedure. </param>
      <returns>Collection of parameters required to execute a procedure. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OraclePackage.ExecProc(System.String,System.Object[])">
      <summary>Obsolete. Executes stored procedure or function. </summary>
      <remarks>Parameters in <paramref name="parameters" /> array must be positioned in the order in which they were declared in stored procedure declaration. If number of parameters passed to stored procedure through this method is greater than number of formal parameters unnecessary parameters will be ignored. If number of parameters is less than number of formal parameters missing parameters values will be NULL. If stored procedure of function with the specified name does not exist an exception will be thrown. </remarks>
      <keywords>OraclePackage.ExecProc method </keywords>
      <param name="name">The name of the stored procedure or function. </param>
      <param name="parameters">Array of parameters to be passed to the stored procedure. </param>
      <returns>The value that function returns. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OraclePackage.ExecuteProcedure(System.String,Devart.Data.Oracle.OracleParameterCollection)">
      <summary>Executes stored procedure or function. </summary>
      <remarks><para>If a procedure with specified name cannot be found in the package an exception is thrown. This is also the case when you specify wrong parameters.</para> </remarks>
      <keywords>OraclePackage.ExecuteProcedure method </keywords>
      <param name="name">The name of the stored procedure or function. </param>
      <param name="parameters">Parameters to be passed to the procedure as arguments. </param>
      <returns>Return value of the stored function. </returns>
      <overloads>Executes stored procedure or function. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OraclePackage.ExecuteProcedure(System.String,Devart.Data.Oracle.OracleParameterCollection,System.Boolean)">
      <summary>Executes stored procedure or function. </summary>
      <remarks><para>
When collection of parameters does not correspond strictly to declaration of a stored procedure, behavior of <see cref="M:Devart.Data.Oracle.OraclePackage.ExecuteProcedure" /> depends on <paramref name="parameterCheck" /> value. When <paramref name="parameterCheck" /> is <see langword="true" />, missing parameters are added to the collection and wrong parameters are removed from it. For stored functions, routine result is placed in a parameter with <see cref="P:Devart.Common.DbParameterBase.Direction" /> set to ReturnValue and <see cref="P:Devart.Common.DbParameterBase.ParameterName" /> "Result". For more information on this mode please refer to article <a href="Parameters.html">Using Parameters</a>.
</para>
<para>If a procedure with specified name cannot be found in the package an exception is thrown. This is also the case when you specify wrong parameters and <paramref name="parameterCheck" /> is <see langword="false" />.</para> </remarks>
      <keywords>OraclePackage.ExecuteProcedure method </keywords>
      <param name="name">The name of the stored procedure or function. </param>
      <param name="parameters">Parameters to be passed to the procedure as arguments. </param>
      <param name="parameterCheck">If <see langword="true" />, collection of parameters is automatically adjusted to correspond to stored procedure's declaration. </param>
      <returns>Return value of the stored function. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OraclePackage.ExecuteProcedure(System.String,System.Object[])">
      <summary>Executes stored procedure or function. </summary>
      <remarks><para>If a procedure with specified name cannot be found in the package an exception is thrown.</para> </remarks>
      <keywords>OraclePackage.ExecuteProcedure method </keywords>
      <param name="name">The name of the stored procedure or function. </param>
      <param name="parameters">Array of parameters to be passed to the stored procedure. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OraclePackage.ExecuteProcedure(System.String,System.Type,System.Object[])">
      <summary>Executes stored procedure or function. </summary>
      <remarks>If <paramref name="resultType" /> is null, <see cref="M:Devart.Data.Oracle.OraclePackage.ExecuteProcedure" /> method tries to execute a stored procedure; otherwise it invokes stored function. </remarks>
      <keywords>OraclePackage.ExecuteProcedure method </keywords>
      <param name="name">The name of the stored procedure or function. </param>
      <param name="resultType">Determines whether to invoke a procedure or a function. </param>
      <param name="parameters">Parameters to be passed to the procedure as arguments. </param>
      <returns>Return value of the stored function. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OraclePackage.GetVariable(System.String,Devart.Data.Oracle.OracleDbType)">
      <summary>Returns a value of the variable in the package mapped to the specified type. </summary>
      <remarks>Use <see cref="M:Devart.Data.Oracle.OraclePackage.GetVariable" /> method to obtain the value of a package variable or constant declared within Oracle package. If the name does not exist an exception will be thrown. </remarks>
      <example>The following example obtains and then prints the variable value. <code lang="csharp">public void GetPackageVariableValue(OracleConnection conn)
{
  OraclePackage package = new OraclePackage();

  // Set active connection
  // Connection must be opened
  package.Connection = conn;

  // Set package name where stored procedure exists
  package.PackageName = "oranet_pack";

  // Get variable value
  object pkgVar = package.GetVariable("package_variable", OracleDbType.VarChar);

  // Print variable value
  Console.WriteLine(pkgVar);

  // Set variable to specific value
  package.SetVariable("package_variable", "test string");

  // Get variable value
  pkgVar = package.GetVariable("package_variable", OracleDbType.VarChar);

  // Print variable value
  Console.WriteLine(pkgVar);
} </code><code lang="vb">Public Sub GetPackageVariableValue(conn As OracleConnection)
  Dim package As New OraclePackage()

  ' Set active connection
  ' Connection must be opened
  package.Connection = conn

  ' Set package name where stored procedure exists
  package.PackageName = "oranet_pack"

  ' Get variable value
  Dim pkgVar As Object
  pkgVar = package.GetVariable("package_variable", OracleDbType.VarChar)

  ' Print variable value
  Console.WriteLine(pkgVar)

  ' Set variable to specific value
  package.SetVariable("package_variable", "test string")

  ' Get variable value
  pkgVar = package.GetVariable("package_variable", OracleDbType.VarChar)

  ' Print variable value
  Console.WriteLine(pkgVar)
End Sub 'GetPackageVariableValue </code></example>
      <keywords>OraclePackage.GetVariable method </keywords>
      <param name="variableName">Name of the variable in the package. </param>
      <param name="dbType">One of the <see cref="T:Devart.Data.Oracle.OracleDbType" /> values. </param>
      <returns>A value of the variable in the package. </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OraclePackage.Name">
      <summary>Gets or sets a name of component that will be displayed in DBMonitor application. </summary>
      <remarks>This property value assigns automatically with the name of the component at design-time. If the component was created at run-time and property value was not set that component will be displayed in the DBMonitor with object type name followed by unique number in parentheses. </remarks>
      <keywords>OraclePackage.Name property </keywords>
      <value>The name of the component. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OraclePackage.PackageName">
      <summary>Gets or sets Oracle package name where procedures or variables exist. </summary>
      <remarks>You must set <see cref="P:Devart.Data.Oracle.OraclePackage.PackageName" /> property before the execution of any procedure. If the package does not exist an exception will be thrown. </remarks>
      <keywords>OraclePackage.PackageName property </keywords>
      <value>The name of the package within Oracle database. The default value is an empty string (""). </value>
    </member>
    <member name="P:Devart.Data.Oracle.OraclePackage.Parameters">
      <summary>Contains parameters of the currently executed package procedure. </summary>
      <remarks>Use this property to set parameters values before the execution of package procedure or obtain out parameters values after executing package procedure. </remarks>
      <seealso cref="M:Devart.Data.Oracle.OraclePackage.ExecProc" />
      <keywords>OraclePackage.Parameters property </keywords>
      <value>The <see cref="T:Devart.Data.Oracle.OracleParameterCollection" /> instance. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OraclePackage.SetVariable(System.String,System.Object)">
      <summary>Assigns specified value to a variable from the package. </summary>
      <remarks>Use <see cref="M:Devart.Data.Oracle.OraclePackage.SetVariable" /> method to set the value of a package variable or constant declared within Oracle package. If the name does not exist an exception will be thrown. </remarks>
      <example>The following example sets the new variable value. <code lang="csharp">public void GetPackageVariableValue(OracleConnection conn)
{
  OraclePackage package = new OraclePackage();

  // Set active connection
  // Connection must be opened
  package.Connection = conn;

  // Set package name where stored procedure exists
  package.PackageName = "oranet_pack";

  // Get variable value
  object pkgVar = package.GetVariable("package_variable", OracleDbType.VarChar);

  // Print variable value
  Console.WriteLine(pkgVar);

  // Set variable to specific value
  package.SetVariable("package_variable", "test string");

  // Get variable value
  pkgVar = package.GetVariable("package_variable", OracleDbType.VarChar);

  // Print variable value
  Console.WriteLine(pkgVar);
} </code><code lang="vb">Public Sub GetPackageVariableValue(conn As OracleConnection)
  Dim package As New OraclePackage()

  ' Set active connection
  ' Connection must be opened
  package.Connection = conn

  ' Set package name where stored procedure exists
  package.PackageName = "oranet_pack"

  ' Get variable value
  Dim pkgVar As Object
  pkgVar = package.GetVariable("package_variable", OracleDbType.VarChar)

  ' Print variable value
  Console.WriteLine(pkgVar)

  ' Set variable to specific value
  package.SetVariable("package_variable", "test string")

  ' Get variable value
  pkgVar = package.GetVariable("package_variable", OracleDbType.VarChar)

  ' Print variable value
  Console.WriteLine(pkgVar)
End Sub 'GetPackageVariableValue </code></example>
      <keywords>OraclePackage.SetVariable method </keywords>
      <param name="variableName">Name of the variable in the package. </param>
      <param name="value">A value that will be assigned to the variable. </param>
    </member>
    <member name="T:Devart.Data.Oracle.OracleParameter">
      <summary>Represents a parameter to a <see cref="T:Devart.Data.Oracle.OracleCommand" />, and optionally, its mapping to <see cref="T:System.Data.DataSet" /> columns. </summary>
      <remarks>
        <para>Parameter names are not case-sensitive.</para>
        <para>Refer to article <a href="Parameters.html">Using Parameters in dotConnect for Oracle</a> to obtain detailed information on the matter together with some advanced examples.</para> </remarks>
      <example>The following example creates multiple instances of <see cref="T:Devart.Data.Oracle.OracleParameter" /> through the <see cref="T:Devart.Data.Oracle.OracleParameterCollection" /> within the <see cref="T:Devart.Data.Oracle.OracleDataAdapter" />. These parameters are used to select data from the database and place the data in the <see cref="T:System.Data.DataSet" />. This example assumes that a <see cref="T:System.Data.DataSet" /> and a <see cref="T:Devart.Data.Oracle.OracleDataAdapter" /> have already been created with the appropriate schema, commands, and connection. <code lang="csharp">public void AddOracleParameters()
{
  // ...
  // create myDataSet and myDataAdapter
  // ...
  myDataAdapter.SelectCommand.Parameters.Add("DName", OracleDbType.VarChar, 15).Value = "DEVELOPMENT";
  myDataAdapter.SelectCommand.Parameters.Add("DeptNo", OracleDbType.Integer).Value = 50;
  myDataAdapter.Fill(myDataSet);
} </code><code lang="vb">Public Sub AddOracleParameters()
  ' ...
  ' create myDataSet and myDataAdapter
  ' ...
  myDataAdapter.SelectCommand.Parameters.Add("DName", OracleDbType.VarChar, 15).Value = "DEVELOPMENT"
  myDataAdapter.SelectCommand.Parameters.Add("DeptNo", OracleDbType.Integer).Value = 50
  myDataAdapter.Fill(myDataSet)
End Sub </code></example>
      <seealso cref="T:Devart.Data.Oracle.OracleCommand" />
      <seealso cref="T:Devart.Data.Oracle.OracleDataAdapter" />
    </member>
    <member name="M:Devart.Data.Oracle.OracleParameter.#ctor()">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleParameter" /> class. </summary>
      <remarks>The base constructor initializes all fields to their default values. </remarks>
      <example>The following example creates a new <see cref="T:Devart.Data.Oracle.OracleParameter" /> and sets some of its properties. <code lang="csharp">public void CreateOracleParameter()
{
  OracleParameter myParameter = new OracleParameter();
  myParameter.ParameterName = "DName";
  myParameter.OracleDbType = OracleDbType.VarChar;
  myParameter.Direction = ParameterDirection.Input;
  myParameter.Size = 15;
} </code><code lang="vb">Public Sub CreateOracleParameter()
  Dim myParameter As New OracleParameter()
  myParameter.ParameterName = "DName"
  myParameter.OracleDbType = OracleDbType.VarChar
  myParameter.Direction = ParameterDirection.Input
  myParameter.Size = 15
End Sub </code></example>
      <overloads>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleParameter" /> class. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleParameter.#ctor(System.String,Devart.Data.Oracle.OracleDbType)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleParameter" /> class with the parameter name and data type. </summary>
      <example>The following example creates a new <see cref="T:Devart.Data.Oracle.OracleParameter" /> and sets some of its properties. <code lang="csharp">public void CreateOracleParameter()
{
  OracleParameter myParameter = new OracleParameter("DName", OracleDbType.VarChar);
  myParameter.Direction = ParameterDirection.Input;
  myParameter.Size = 15;
} </code><code lang="vb">Public Sub CreateOracleParameter()
    Dim myParameter As New OracleParameter("DName", OracleDbType.VarChar)
    myParameter.Direction = ParameterDirection.Input
    myParameter.Size = 15
End Sub </code></example>
      <param name="parameterName">The name of the parameter. </param>
      <param name="dbType">One of the <see cref="T:Devart.Data.Oracle.OracleDbType" /> values. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleParameter.#ctor(System.String,Devart.Data.Oracle.OracleDbType,System.Int32)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleParameter" /> class with the parameter name, data type, and width. </summary>
      <example>The following example creates a new <see cref="T:Devart.Data.Oracle.OracleParameter" /> and sets some of its properties. <code lang="csharp">public void CreateOracleParameter()
{
  OracleParameter myParameter = new OracleParameter("DName", OracleDbType.VarChar, 15);
  myParameter.Direction = ParameterDirection.Input;
} </code><code lang="vb">Public Sub CreateOracleParameter()
    Dim myParameter As New OracleParameter("DName", OracleDbType.VarChar, 15)
    myParameter.Direction = ParameterDirection.Input
End Sub </code></example>
      <param name="parameterName">The name of the parameter. </param>
      <param name="dbType">One of the <see cref="T:Devart.Data.Oracle.OracleDbType" /> values. </param>
      <param name="size">The maximum size, in bytes, of the data within the column. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleParameter.#ctor(System.String,Devart.Data.Oracle.OracleDbType,System.Int32,System.Data.ParameterDirection,System.Boolean,System.Byte,System.Byte,System.String,System.Data.DataRowVersion,System.Boolean,System.Object,System.Int32,System.String)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleParameter" /> class with the parameter name, data type, width, source column name, parameter direction, numeric precision, and other properties. </summary>
      <example>The following example creates a new <see cref="T:Devart.Data.Oracle.OracleParameter" /> and displays the <see cref="P:Devart.Common.DbParameterBase.ParameterName" />. <code lang="csharp">public void CreateOracleParameter()
{
  OracleParameter myParameter = new OracleParameter("DName", OracleDbType.VarChar, 15, ParameterDirection.Output, true, 0, 0, "DName", DataRowVersion.Current, "DEVELOPMENT");
  MessageBox.Show(myParameter.ToString());
} </code><code lang="vb">Public Sub CreateOracleParameter()
  Dim myParameter As New OracleParameter("DName", OracleDbType.VarChar, 15, ParameterDirection.Output, True, 0, 0, "DName", DataRowVersion.Current, "DEVELOPMENT")
  MessageBox.Show(myParameter.ToString())
End Sub 'CreateOracleParameter </code></example>
      <param name="parameterName">The name of the parameter. </param>
      <param name="dbType">One of the <see cref="T:Devart.Data.Oracle.OracleDbType" /> values. </param>
      <param name="size">The maximum size, in bytes, of the data within the column. </param>
      <param name="direction">One of the <see cref="T:System.Data.ParameterDirection" /> values. </param>
      <param name="isNullable"><see langword="true" /> if the value of the field can be null; otherwise, <see langword="false" />. </param>
      <param name="precision">The total number of digits to the left and right of the decimal point to which <see cref="P:Devart.Common.DbParameterBase.Value" /> is resolved. </param>
      <param name="scale">The total number of decimal places to which <see cref="P:Devart.Common.DbParameterBase.Value" /> is resolved. </param>
      <param name="sourceColumn">The name of the source column. </param>
      <param name="sourceVersion">One of the <see cref="T:System.Data.DataRowVersion" /> values. </param>
      <param name="sourceColumnNullMapping">Specifies whether the source column is nullable. </param>
      <param name="value">An Object that is the value of the <see cref="T:Devart.Data.Oracle.OracleParameter" />. </param>
      <param name="arrayLength">A length of the DML array or PL/SQL table. </param>
      <param name="objectTypeName">String representing a name for the Oracle object type. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleParameter.#ctor(System.String,Devart.Data.Oracle.OracleDbType,System.Int32,System.Data.ParameterDirection,System.Boolean,System.Byte,System.Byte,System.String,System.Data.DataRowVersion,System.Object)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleParameter" /> class with the parameter name, data type, width, source column name, parameter direction, numeric precision, and other properties. </summary>
      <example>The following example creates a new <see cref="T:Devart.Data.Oracle.OracleParameter" /> and displays the <see cref="P:Devart.Common.DbParameterBase.ParameterName" />. <code lang="csharp">public void CreateOracleParameter()
{
  OracleParameter myParameter = new OracleParameter("DName", OracleDbType.VarChar, 15, ParameterDirection.Output, true, 0, 0, "DName", DataRowVersion.Current, "DEVELOPMENT");
  MessageBox.Show(myParameter.ToString());
} </code><code lang="vb">Public Sub CreateOracleParameter()
  Dim myParameter As New OracleParameter("DName", OracleDbType.VarChar, 15, ParameterDirection.Output, True, 0, 0, "DName", DataRowVersion.Current, "DEVELOPMENT")
  MessageBox.Show(myParameter.ToString())
End Sub 'CreateOracleParameter </code></example>
      <param name="parameterName">The name of the parameter. </param>
      <param name="dbType">One of the <see cref="T:Devart.Data.Oracle.OracleDbType" /> values. </param>
      <param name="size">The maximum size, in bytes, of the data within the column. </param>
      <param name="direction">One of the <see cref="T:System.Data.ParameterDirection" /> values. </param>
      <param name="isNullable"><see langword="true" /> if the value of the field can be null; otherwise, <see langword="false" />. </param>
      <param name="precision">The total number of digits to the left and right of the decimal point to which <see cref="P:Devart.Common.DbParameterBase.Value" /> is resolved. </param>
      <param name="scale">The total number of decimal places to which <see cref="P:Devart.Common.DbParameterBase.Value" /> is resolved. </param>
      <param name="sourceColumn">The name of the source column. </param>
      <param name="sourceVersion">One of the <see cref="T:System.Data.DataRowVersion" /> values. </param>
      <param name="value">An Object that is the value of the <see cref="T:Devart.Data.Oracle.OracleParameter" />. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleParameter.#ctor(System.String,Devart.Data.Oracle.OracleDbType,System.Int32,System.Data.ParameterDirection,System.Boolean,System.Byte,System.Byte,System.String,System.Data.DataRowVersion,System.Object,System.Int32,System.String)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleParameter" /> class with the parameter name, data type, width, source column name, parameter direction, numeric precision, and other properties. </summary>
      <example>The following example creates a new <see cref="T:Devart.Data.Oracle.OracleParameter" /> and displays the <see cref="P:Devart.Common.DbParameterBase.ParameterName" />. <code lang="csharp">public void CreateOracleParameter()
{
  OracleParameter myParameter = new OracleParameter("DName", OracleDbType.VarChar, 15, ParameterDirection.Output, true, 0, 0, "DName", DataRowVersion.Current, "DEVELOPMENT");
  MessageBox.Show(myParameter.ToString());
} </code><code lang="vb">Public Sub CreateOracleParameter()
  Dim myParameter As New OracleParameter("DName", OracleDbType.VarChar, 15, ParameterDirection.Output, True, 0, 0, "DName", DataRowVersion.Current, "DEVELOPMENT")
  MessageBox.Show(myParameter.ToString())
End Sub 'CreateOracleParameter </code></example>
      <param name="parameterName">The name of the parameter. </param>
      <param name="dbType">One of the <see cref="T:Devart.Data.Oracle.OracleDbType" /> values. </param>
      <param name="size">The maximum size, in bytes, of the data within the column. </param>
      <param name="direction">One of the <see cref="T:System.Data.ParameterDirection" /> values. </param>
      <param name="isNullable"><see langword="true" /> if the value of the field can be null; otherwise, <see langword="false" />. </param>
      <param name="precision">The total number of digits to the left and right of the decimal point to which <see cref="P:Devart.Common.DbParameterBase.Value" /> is resolved. </param>
      <param name="scale">The total number of decimal places to which <see cref="P:Devart.Common.DbParameterBase.Value" /> is resolved. </param>
      <param name="sourceColumn">The name of the source column. </param>
      <param name="sourceVersion">One of the <see cref="T:System.Data.DataRowVersion" /> values. </param>
      <param name="value">An Object that is the value of the <see cref="T:Devart.Data.Oracle.OracleParameter" />. </param>
      <param name="arrayLength">A length of the DML array or PL/SQL table. </param>
      <param name="objectTypeName">String representing a name for the Oracle object type. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleParameter.#ctor(System.String,Devart.Data.Oracle.OracleDbType,System.Int32,System.Data.ParameterDirection,System.String,System.Data.DataRowVersion,System.Boolean,System.Object)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleParameter" /> class with the parameter name, data type, width, source column name, parameter direction, and other properties. </summary>
      <example>The following example creates a new <see cref="T:Devart.Data.Oracle.OracleParameter" /> and sets some of its properties. <code lang="csharp">public void CreateOracleParameter()
{
	OracleParameter myParameter = new OracleParameter("DName", OracleDbType.VarChar, 
		15, ParameterDirection.Output, "DName", DataRowVersion.Current, true, "DEVELOPMENT");
	MessageBox.Show(myParameter.ToString());
} </code><code lang="vb">Public Sub CreateOracleParameter()
	Dim myParameter As New OracleParameter("DName", OracleDbType.VarChar, 15, _
		ParameterDirection.Output, "DName", DataRowVersion.Current, True, "DEVELOPMENT")
	MessageBox.Show(myParameter.ToString())
End Sub 'CreateOracleParameter </code></example>
      <param name="parameterName">The name of the parameter. </param>
      <param name="dbType">One of the <see cref="T:Devart.Data.Oracle.OracleDbType" /> values. </param>
      <param name="size">The maximum size, in bytes, of the data within the column. </param>
      <param name="direction">One of the <see cref="T:System.Data.ParameterDirection" /> values. </param>
      <param name="sourceColumn">The name of the source column. </param>
      <param name="sourceVersion">One of the <see cref="T:System.Data.DataRowVersion" /> values. </param>
      <param name="sourceColumnNullMapping">Specifies whether the source column is nullable. </param>
      <param name="value">An Object that is the value of the <see cref="T:Devart.Data.Oracle.OracleParameter" />. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleParameter.#ctor(System.String,Devart.Data.Oracle.OracleDbType,System.Int32,System.String)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleParameter" /> class with the parameter name, data type, width, and source column name. </summary>
      <example>The following example creates a new <see cref="T:Devart.Data.Oracle.OracleParameter" /> and sets some of its properties. <code lang="csharp">public void CreateOracleParameter()
{
  OracleParameter myParameter = new OracleParameter("DName", OracleDbType.VarChar, 15, "DName");
  myParameter.Direction = ParameterDirection.Input;
} </code><code lang="vb">Public Sub CreateOracleParameter()
    Dim myParameter As New OracleParameter("DName", OracleDbType.VarChar, 15, "DName")
    myParameter.Direction = ParameterDirection.Input
End Sub </code></example>
      <param name="parameterName">The name of the parameter. </param>
      <param name="dbType">One of the <see cref="T:Devart.Data.Oracle.OracleDbType" /> values. </param>
      <param name="size">The maximum size, in bytes, of the data within the column. </param>
      <param name="sourceColumn">The name of the source column. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleParameter.#ctor(System.String,Devart.Data.Oracle.OracleDbType,System.String)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleParameter" /> class with the parameter name, data type. </summary>
      <example>The following example creates a new <see cref="T:Devart.Data.Oracle.OracleParameter" /> of <see cref="T:Devart.Data.Oracle.OracleObject" /> type. For more detailed example of working with <see cref="T:Devart.Data.Oracle.OracleObject" /> type, refer to <a href="Objects.html">Objects</a> article. <code lang="csharp">public void CreateOracleParameter()
{
	OracleParameter myParameter = new OracleParameter("DName", OracleDbType.Object, "TPerson");
	myParameter.Direction = ParameterDirection.Input;
	((OracleObject)myParameter.Value)["ADDRESS"] = "69 Camden Road, London, NW1 9EU";
	((OracleObject)myParameter.Value)["Name"] = "Alex";
} </code><code lang="vb">Public Sub CreateOracleParameter()
	Dim myParameter As New OracleParameter("DName", OracleDbType.Object, "TPerson")
	myParameter.Direction = ParameterDirection.Input
	CType(myParameter.Value, OracleObject)("ADDRESS") = "69 Camden Road, London, NW1 9EU"
	CType(myParameter.Value, OracleObject)("Name") = "Alex"
End Sub 'CreateOracleParameter </code></example>
      <param name="parameterName">The name of the parameter. </param>
      <param name="dbType">One of the <see cref="T:Devart.Data.Oracle.OracleDbType" /> values. </param>
      <param name="objectTypeName">String representing a name for the Oracle object type. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleParameter.#ctor(System.String,System.Object)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleParameter" /> class with the parameter name and a <see cref="T:Devart.Data.Oracle.OracleParameter" /> object. </summary>
      <example>The following example creates a new <see cref="T:Devart.Data.Oracle.OracleParameter" /> and sets some of its properties. <code lang="csharp">public void CreateOracleParameter() 
{
	OracleParameter myParameter = new OracleParameter("DName", "e.g.: some string value");
	myParameter.Direction = ParameterDirection.Input;
} </code><code lang="vb">Public Sub CreateOracleParameter()
	Dim myParameter As New OracleParameter("DName", "e.g.: some string value")
	myParameter.Direction = ParameterDirection.Input
End Sub 'CreateOracleParameter </code></example>
      <param name="parameterName">The name of the parameter. </param>
      <param name="value">An Object that is the value of the <see cref="T:Devart.Data.Oracle.OracleParameter" />. </param>
    </member>
    <member name="P:Devart.Data.Oracle.OracleParameter.ArrayLength">
      <summary>Gets or sets the length of the DML array, PL/SQL table, or VARRAY and TABLE object types. </summary>
      <remarks><para>
An array length representing a value of DML array or PL/SQL table, or VARRAY and TABLE object types is set equal to a value of the <see cref="P:Devart.Data.Oracle.OracleParameter.ArrayLength" /> property. If you use DML array or PL/SQL table output parameter you must obligatory set <see cref="P:Devart.Data.Oracle.OracleParameter.ArrayLength" /> property. If you use output parameter of VARRAY or TABLE type <see cref="P:Devart.Data.Oracle.OracleParameter.ArrayLength" /> property will be set automatically after command execution.</para>
<para>
For PL/SQL parameters, only the following data types are allowed: Boolean, VarChar, Char, NVarChar, NChar, Number, Integer, Double, Float, Date.
</para> </remarks>
      <keywords>OracleParameter.ArrayLength property </keywords>
      <value>A length of the DML array or PL/SQL table, or VARRAY and TABLE object types. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleParameter.Clone()">
      <summary>Creates a new object that is a copy of the current <see cref="T:Devart.Data.Oracle.OracleParameter" /> instance. </summary>
      <keywords>OracleParameter.Clone method </keywords>
      <returns>A new <see cref="T:Devart.Data.Oracle.OracleParameter" /> object in which all property values are the same as the original. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleParameter.CopyTo(Devart.Common.DbParameter)">
      <summary>Copies all properties of a <see cref="T:Devart.Data.Oracle.OracleParameter" /> object to another <see cref="T:Devart.Data.Oracle.OracleParameter" /> object. </summary>
      <remarks>This method supports the .NET Framework infrastructure and is not intended to be used directly from your code. </remarks>
      <keywords>OracleParameter.CopyTo method </keywords>
      <param name="destination">The <see cref="T:Devart.Common.DbParameterBase" /> object to copy properties to. </param>
    </member>
    <member name="P:Devart.Data.Oracle.OracleParameter.DbType">
      <summary>Gets or sets the <see cref="T:System.Data.DbType" /> of the parameter. </summary>
      <remarks>The <see cref="P:Devart.Data.Oracle.OracleParameter.OracleDbType" /> and <see cref="P:Devart.Data.Oracle.OracleParameter.DbType" /> are linked. Therefore, setting the <see cref="P:Devart.Data.Oracle.OracleParameter.DbType" /> changes the <see cref="P:Devart.Data.Oracle.OracleParameter.OracleDbType" /> to a supporting <see cref="T:Devart.Data.Oracle.OracleDbType" />.
<para>For a list of the supported data types, see the appropriate <see cref="T:Devart.Data.Oracle.OracleDbType" /> member.</para> </remarks>
      <example>The following example creates a <see cref="T:Devart.Data.Oracle.OracleParameter" /> and sets some of its properties, including the <see cref="P:Devart.Data.Oracle.OracleParameter.DbType" /> property. <code lang="csharp">public void CreateOracleParameter()
{
  OracleParameter myParameter = new OracleParameter();
  myParameter.ParameterName = "DName";
  myParameter.DbType = DbType.String;
  myParameter.Direction = ParameterDirection.Output;
  myParameter.Size = 15;
} </code><code lang="vb">Public Sub CreateOracleParameter()
  Dim myParameter As New OracleParameter()
  myParameter.ParameterName = "DName"
  myParameter.DbType = DbType.String
  myParameter.Direction = ParameterDirection.Output
  myParameter.Size = 15
End Sub </code></example>
      <seealso cref="P:Devart.Data.Oracle.OracleParameter.OracleDbType" />
      <keywords>OracleParameter.DbType property </keywords>
      <value>One of the <see cref="T:System.Data.DbType" /> values. The default value is <see cref="T:System.String" />. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleParameter.Item(System.Int32)">
      <summary>Gets the value of the element at the specified index for DML array or PL/SQL tables. </summary>
      <remarks>By default dotConnect for Oracle reserves maximum memory that the DML array might require. To prevent redundant memory consumption it is recommended to set <see cref="P:Devart.Common.DbParameter.Size" /> to size of biggest array element. </remarks>
      <keywords>OracleParameter.Item property </keywords>
      <param name="index">The zero-based index. </param>
      <value>A value of the element of DML array or PL/SQL tables. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleParameter.ObjectTypeName">
      <summary>Gets or sets a name for the Oracle object type. </summary>
      <remarks>You need set the <see cref="P:Devart.Data.Oracle.OracleParameter.ObjectTypeName" /> property for <see cref="T:Devart.Data.Oracle.OracleDbType" />.Array, <see cref="T:Devart.Data.Oracle.OracleDbType" />.Object, and <see cref="T:Devart.Data.Oracle.OracleDbType" />.Table of the <see cref="P:Devart.Data.Oracle.OracleParameter.OracleDbType" /> data types. </remarks>
      <keywords>OracleParameter.ObjectTypeName property </keywords>
      <value><see cref="T:System.String" /> representing a name for the Oracle object type. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleParameter.OracleDbType">
      <summary>Gets or sets the <see cref="T:Devart.Data.Oracle.OracleDbType" /> of the parameter. </summary>
      <remarks>The <see cref="P:Devart.Data.Oracle.OracleParameter.OracleDbType" /> and <see cref="P:Devart.Data.Oracle.OracleParameter.DbType" /> are linked. Therefore, setting the <see cref="P:Devart.Data.Oracle.OracleParameter.DbType" /> changes the <see cref="P:Devart.Data.Oracle.OracleParameter.OracleDbType" /> to a supporting <see cref="T:Devart.Data.Oracle.OracleDbType" />.
<para>For a list of the supported data types, see the appropriate <see cref="T:Devart.Data.Oracle.OracleDbType" /> member. For more information, see "Using Parameters with a DataAdapter" in the Microsoft .NET Framework SDK documentation.</para> </remarks>
      <seealso cref="P:Devart.Data.Oracle.OracleParameter.DbType" />
      <keywords>OracleParameter.OracleDbType property </keywords>
      <value>A <see cref="T:Devart.Data.Oracle.OracleDbType" /> value that is the <see cref="P:Devart.Data.Oracle.OracleParameter.OracleDbType" /> of the parameter. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleParameter.OracleValue">
      <summary>Gets or sets the value of the parameter in its Oracle format wrapped by dotConnect for Oracle. </summary>
      <keywords>OracleParameter.OracleValue property </keywords>
      <value>A value of the parameter in its Oracle format. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleParameter.Precision">
      <summary>Gets or sets the maximum number of digits used to represent the <see cref="P:Devart.Common.DbParameter.Value" /> property. </summary>
      <keywords>OracleParameter.Precision property </keywords>
      <value>The maximum number of digits used to represent the <see cref="P:Devart.Common.DbParameter.Value" /> property. The default value is 0. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleParameter.ResetDbType()">
      <summary>Clears explicit <see cref="P:Devart.Data.Oracle.OracleParameter.OracleDbType" /> assignment. </summary>
      <remarks>After calling this method parameter's type is defined by <see cref="P:Devart.Data.Oracle.OracleParameter.OracleValue" /> property. </remarks>
      <keywords>OracleParameter.ResetDbType method </keywords>
    </member>
    <member name="P:Devart.Data.Oracle.OracleParameter.Scale">
      <summary>Gets or sets the number of decimal places to which <see cref="P:Devart.Common.DbParameter.Value" /> is resolved. </summary>
      <keywords>OracleParameter.Scale property </keywords>
      <value>The number of decimal places to which <see cref="P:Devart.Common.DbParameter.Value" /> is resolved. The default value is 0. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleParameter.ToString()">
      <summary>Gets a string containing the <see cref="P:Devart.Common.DbParameter.ParameterName" />. </summary>
      <keywords>OracleParameter.ToString method </keywords>
      <returns>A string containing the <see cref="P:Devart.Common.DbParameter.ParameterName" />. </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleParameter.Value">
      <summary>Gets or sets the value of the parameter. </summary>
      <remarks>For input parameters, the value is bound to the <see cref="T:Devart.Data.Oracle.OracleCommand" /> that is sent to the server. For output and return-value parameters, the value is set on completion of the <see cref="T:Devart.Data.Oracle.OracleCommand" /> and after the <see cref="T:Devart.Data.Oracle.OracleDataReader" /> is closed.
<para>When sending a null parameter value to the server, the user must specify <see cref="T:System.DBNull" />, not null. A null value in the system  is an empty object that has no value. <see cref="T:System.DBNull" /> is used to represent null values.</para>
<para>If the application specifies the database type, the bound value is converted to that type when the provider sends the data to the server. The provider attempts to convert any type of value if it supports the IConvertible interface. Conversion errors may result if the specified type is not compatible with the value.</para>
<para>Both the <see cref="P:Devart.Data.Oracle.OracleParameter.DbType" /> and <see cref="P:Devart.Data.Oracle.OracleParameter.OracleDbType" /> properties can be inferred by setting <see cref="P:Devart.Data.Oracle.OracleParameter.Value" />. If applicable, the size, precision and scale will also be inferred from <see cref="P:Devart.Data.Oracle.OracleParameter.Value" />.</para>
<para>The <see cref="P:Devart.Data.Oracle.OracleParameter.Value" /> property is overwritten by the <see cref="M:System.Data.Common.DbDataAdapter.Update()" /> method.</para> </remarks>
      <example>The following example creates a <see cref="T:Devart.Data.Oracle.OracleParameter" /> and sets some of its properties. <code lang="csharp">public void CreateOracleParameter()
{
  OracleParameter myParameter = new OracleParameter("DName", OracleDbType.VarChar, 15);
  myParameter.Value = "PRODUCTION";
} </code><code lang="vb">Public Sub CreateOracleParameter()
  Dim myParameter As New OracleParameter("DName", OracleDbType.VarChar, 15)
  myParameter.Value = "PRODUCTION"
End Sub 'CreatePgSqlParameter </code></example>
      <keywords>OracleParameter.Value property </keywords>
      <value>An <see cref="T:System.Object" /> that is the value of the parameter. The default value is null. </value>
    </member>
    <member name="T:Devart.Data.Oracle.OracleParameterCollection">
      <summary>Collects all parameters relevant to a <see cref="T:Devart.Data.Oracle.OracleCommand" /> as well as their respective mappings to <see cref="T:System.Data.DataSet" /> columns. </summary>
      <remarks>The number of parameters in the collection must be equal to the number of parameter placeholders within the command text, or Oracle raises an error. </remarks>
      <example>The following example adds instance of <see cref="T:Devart.Data.Oracle.OracleParameter" /> to collection. <code lang="csharp">public void AddOracleParameters()
{
  // Create myConnection and myCommand.

  myCommand.CommandText = "DELETE Test.Dept WHERE DeptNo = :DeptNo";
  myCommand.Parameters.Add("DeptNo", OracleDbType.Integer).Value = 50;
  myCommand.ExecuteNonQuery();
} </code><code lang="vb">Public Sub AddOracleParameters()
  // Create myConnection and myCommand.

  myCommand.CommandText = "DELETE Test.Dept WHERE DeptNo = :DeptNo"
  myCommand.Parameters.Add("DeptNo", OracleDbType.Integer).Value = 50
  myCommand.ExecuteNonQuery()

End Sub 'AddOracleParameters </code></example>
      <seealso cref="T:Devart.Data.Oracle.OracleParameter" />
      <seealso cref="T:Devart.Data.Oracle.OracleCommand" />
    </member>
    <member name="M:Devart.Data.Oracle.OracleParameterCollection.Add(Devart.Data.Oracle.OracleParameter)">
      <summary>Adds the specified <see cref="T:Devart.Data.Oracle.OracleParameter" /> to the <see cref="T:Devart.Data.Oracle.OracleParameterCollection" />. </summary>
      <keywords>OracleParameterCollection.Add method </keywords>
      <param name="value">The <see cref="T:Devart.Data.Oracle.OracleParameter" /> to add to the collection. </param>
      <returns>The new <see cref="T:Devart.Data.Oracle.OracleParameter" /> object. </returns>
      <overloads>Adds the specified <see cref="T:Devart.Data.Oracle.OracleParameter" /> to the <see cref="T:Devart.Data.Oracle.OracleParameterCollection" />. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleParameterCollection.Add(System.String,Devart.Data.Oracle.OracleDbType)">
      <summary>Adds a <see cref="T:Devart.Data.Oracle.OracleParameter" /> to the <see cref="T:Devart.Data.Oracle.OracleParameterCollection" /> given the parameter name and data type. </summary>
      <example>The following example creates a <see cref="T:Devart.Data.Oracle.OracleParameterCollection" />, adds instances of <see cref="T:Devart.Data.Oracle.OracleParameter" /> to the collection, and returns a reference to the new <see cref="T:Devart.Data.Oracle.OracleParameter" />. <code lang="csharp">public void CreateOracleParamColl(OracleConnection myConn) {
  OracleCommand myCommand = new OracleCommand("SELECT * FROM Test.Dept WHERE DeptNo = :DeptNo", myConn);
  OracleParameterCollection myParamCollection = myCommand.Parameters;
  object myParm = new OracleParameter("DeptNo", OracleDbType.Integer);
  int pIndex = myParamCollection.Add(myParm);
} </code><code lang="vb">Public Sub CreateOracleParamColl(myConn As OracleConnection)
  Dim myCommand As OracleCommand = New OracleCommand("SELECT * FROM Test.Dept WHERE DeptNo = :DeptNo", myConn)
  Dim myParamCollection As OracleParameterCollection = myCommand.Parameters
  Dim myParm As Object = New OracleParameter("DeptNo", OracleDbType.Integer)
  Dim pIndex As Integer = myParamCollection.Add(myParm)
End Sub </code></example>
      <keywords>OracleParameterCollection.Add method </keywords>
      <param name="parameterName">The name of the parameter. </param>
      <param name="type">One of the <see cref="T:Devart.Data.Oracle.OracleDbType" /> values. </param>
      <returns>The new <see cref="T:Devart.Data.Oracle.OracleParameter" /> object. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleParameterCollection.Add(System.String,Devart.Data.Oracle.OracleDbType,System.Int32)">
      <summary>Adds a <see cref="T:Devart.Data.Oracle.OracleParameter" /> to the <see cref="T:Devart.Data.Oracle.OracleParameterCollection" /> given the the parameter name, data type, and column width. </summary>
      <example>The following example creates a <see cref="T:Devart.Data.Oracle.OracleParameterCollection" />, adds instances of <see cref="T:Devart.Data.Oracle.OracleParameter" /> to the collection, and returns a reference to the new <see cref="T:Devart.Data.Oracle.OracleParameter" />. <code lang="csharp">public void CreateOracleParamColl(OracleConnection myConn) {
  OracleCommand myCommand = new OracleCommand("SELECT * FROM Test.Dept WHERE DeptNo = :DeptNo", myConn);
  OracleParameterCollection myParamCollection = myCommand.Parameters;
  OracleParameter myNewParameter = myParamCollection.Add("DeptNo", OracleDbType.Integer, 40);
} </code><code lang="vb">Public Sub CreateOracleParamColl(myConn As OracleConnection)
  Dim myCommand As OracleCommand = New OracleCommand("SELECT * FROM Test.Dept WHERE DeptNo = :DeptNo", myConn)
  Dim myParamCollection As OracleParameterCollection = myCommand.Parameters
  Dim myNewParameter As OracleParameter = myParamCollection.Add("DeptNo", OracleDbType.Integer, 40)
End Sub </code></example>
      <keywords>OracleParameterCollection.Add method </keywords>
      <param name="parameterName">The name of the parameter. </param>
      <param name="dbType"> </param>
      <param name="size">The width of the column. </param>
      <returns>The new <see cref="T:Devart.Data.Oracle.OracleParameter" /> object. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleParameterCollection.Add(System.String,Devart.Data.Oracle.OracleDbType,System.Int32,System.String)">
      <summary>Adds a <see cref="T:Devart.Data.Oracle.OracleParameter" /> to the <see cref="T:Devart.Data.Oracle.OracleParameterCollection" /> given the parameter name, data type, column width, and source column name. </summary>
      <example>The following example creates a <see cref="T:Devart.Data.Oracle.OracleParameterCollection" />, adds instances of <see cref="T:Devart.Data.Oracle.OracleParameter" /> to the collection, and returns a reference to the new <see cref="T:Devart.Data.Oracle.OracleParameter" />. <code lang="csharp">public void CreateOracleParamColl(OracleConnection myConn) {
  OracleCommand myCommand = new OracleCommand("SELECT * FROM Test.Dept WHERE DeptNo = :DeptNo", myConn);
  OracleParameterCollection myParamCollection = myCommand.Parameters;
  OracleParameter myNewParameter = myParamCollection.Add("DeptNo", OracleDbType.Integer, 40, "DeptNo");
} </code><code lang="vb">Public Sub CreateOracleParamColl(myConn As OracleConnection)
  Dim myCommand As OracleCommand = New OracleCommand("SELECT * FROM Test.Dept WHERE DeptNo = :DeptNo", myConn)
  Dim myParamCollection As OracleParameterCollection = myCommand.Parameters
  Dim myNewParameter As OracleParameter = myParamCollection.Add("DeptNo", OracleDbType.Integer, 40, "DeptNo")
End Sub </code></example>
      <keywords>OracleParameterCollection.Add method </keywords>
      <param name="parameterName">The name of the parameter. </param>
      <param name="dbType">The type of the parameter. </param>
      <param name="size">The width of the column. </param>
      <param name="sourceColumn">The name of the source column. </param>
      <returns>The new <see cref="T:Devart.Data.Oracle.OracleParameter" /> object. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleParameterCollection.Add(System.String,System.Object)">
      <summary>Adds a <see cref="T:Devart.Data.Oracle.OracleParameter" /> to the <see cref="T:Devart.Data.Oracle.OracleParameterCollection" /> given the parameter name and value. </summary>
      <keywords>OracleParameterCollection.Add method </keywords>
      <param name="parameterName">The name of the parameter. </param>
      <param name="value">The <see cref="P:Devart.Common.DbParameterBase.Value" /> of the <see cref="T:Devart.Data.Oracle.OracleParameter" /> to add to the collection. </param>
      <returns>The new <see cref="T:Devart.Data.Oracle.OracleParameter" /> object. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleParameterCollection.AddWithValue(System.String,System.Object)">
      <summary>Adds a <see cref="T:Devart.Data.Oracle.OracleParameter" /> to the <see cref="T:Devart.Data.Oracle.OracleParameterCollection" /> given the parameter name and value. </summary>
      <keywords>OracleParameterCollection.AddWithValue method </keywords>
      <param name="parameterName">Name of the parameter. </param>
      <param name="value">Value of the parameter. </param>
      <returns>A new <see cref="T:Devart.Data.Oracle.OracleParameter" /> object. </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleParameterCollection.Item(System.Int32)">
      <summary>Gets or sets the <see cref="T:Devart.Data.Oracle.OracleParameter" /> at the specified index. </summary>
      <example>The following example creates a <see cref="T:Devart.Data.Oracle.OracleParameterCollection" />, adds instances of <see cref="T:Devart.Data.Oracle.OracleParameter" /> to the collection, displays the names of its <see cref="T:Devart.Data.Oracle.OracleParameter" /> objects, and then clears the collection. <code lang="csharp">public void CreateOracleParamColl(OracleCommand myCommand) {
  OracleParameterCollection myParamCollection = myCommand.Parameters;
  myParamCollection.Add("DeptNo", OracleDbType.Integer);
  myParamCollection.Add("DName", OracleDbType.VarChar);
  myParamCollection.Add("Loc", OracleDbType.VarChar);
  string myParamNames = "";
  for (int i=0; i &lt; myParamCollection.Count; i++)
    myParamNames += myParamCollection[i].ToString() + "\n";
  MessageBox.Show(myParamNames);
  myParamCollection.Clear();
} </code><code lang="vb">Public Sub CreateOracleParamColl(myCommand As OracleCommand)
  Dim myParamCollection As OracleParameterCollection = myCommand.Parameters
  myParamCollection.Add("DeptNo", OracleDbType.Integer)
  myParamCollection.Add("DName", OracleDbType.VarChar)
  myParamCollection.Add("Loc", OracleDbType.VarChar)
  Dim myParamNames As String = ""
  Dim i As Integer
  For i = 0 To myParamCollection.Count - 1
    myParamNames += myParamCollection(i).ToString() + ControlChars.Cr
  Next i
  MessageBox.Show(myParamNames)
  myParamCollection.Clear()
End Sub </code></example>
      <keywords>OracleParameterCollection.Item property </keywords>
      <param name="index">The zero-based index of the parameter to retrieve. </param>
      <value>The <see cref="T:Devart.Data.Oracle.OracleParameter" /> at the specified index. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleParameterCollection.Item(System.String)">
      <summary>Gets or sets the <see cref="T:Devart.Data.Oracle.OracleParameter" /> with the specified name. </summary>
      <example>The following example searches for a <see cref="T:Devart.Data.Oracle.OracleParameter" /> with a given <see cref="P:Devart.Common.DbParameterBase.ParameterName" /> within a <see cref="T:Devart.Data.Oracle.OracleParameterCollection" />. If the parameter exists, the example displays the name and index of the parameter. If the parameter does not exist, the example displays an error. This example assumes that a <see cref="T:Devart.Data.Oracle.OracleParameterCollection" /> has already been created. <code lang="csharp">public void SearchOracleParams() {
  // ...
  // create OracleParameterCollection myParameters
  // ...
  if (!myParameters.Contains("DName"))
    MessageBox.Show("ERROR: no such parameter in the collection");
  else
    MessageBox.Show("Name: " + myParameters["DName"].ToString() +
      "Index: " + myParameters.IndexOf("DName").ToString());
} </code><code lang="vb">Public Sub SearchOracleParams()
  ' ...
  ' create OracleParameterCollection myParameters
  ' ...
  If Not myParameters.Contains("DName") Then
    MessageBox.Show("ERROR: no such parameter in the collection")
  Else
    MessageBox.Show("Name: "  &amp; myParameters("DName").ToString()  &amp; _
      "Index: "  &amp; myParameters.IndexOf("DName").ToString())
  End If
End Sub </code></example>
      <keywords>OracleParameterCollection.Item property </keywords>
      <param name="parameterName">The name of the parameter to retrieve. </param>
      <value>The <see cref="T:Devart.Data.Oracle.OracleParameter" /> with the specified name. </value>
    </member>
    <member name="T:Devart.Data.Oracle.OraclePermission">
      <summary>Enables dotConnect for Oracle to ensure that a user has an adequate security level to access an Oracle database. This class cannot be inherited. </summary>
      <remarks>This class is intended for future use when dotConnect for Oracle is enabled for partial trust scenarios. The provider currently requires FullTrust permission. For more information, see Code Access Security and ADO.NET. </remarks>
    </member>
    <member name="M:Devart.Data.Oracle.OraclePermission.#ctor(System.Security.Permissions.PermissionState)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OraclePermission" /> class with one of the <see cref="T:System.Security.Permissions.PermissionState" /> values. </summary>
      <param name="state">One of the <see cref="T:System.Security.Permissions.PermissionState" /> values. </param>
    </member>
    <member name="P:Devart.Data.Oracle.OraclePermission.AllowBlankPassword">
      <summary>Gets a value indicating whether a blank password is allowed. </summary>
      <remarks>The <see cref="T:System.Security.Permissions.PermissionState" /> enumeration takes precedence over the <see cref="P:Devart.Data.Oracle.OraclePermission.AllowBlankPassword" /> property. Therefore, if you set <see cref="P:Devart.Data.Oracle.OraclePermission.AllowBlankPassword" /> to <see langword="false" />, you must also set <see cref="T:System.Security.Permissions.PermissionState" /> to None to prevent a user from making a connection using a blank password. </remarks>
      <keywords>OraclePermission.AllowBlankPassword property </keywords>
      <value><see langword="true" /> if a blank password is allowed; otherwise, <see langword="false" />. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OraclePermission.Copy()">
      <summary>Creates and returns an identical copy of the current permission object. </summary>
      <remarks>A copy of a permission object represents the same access to resources as the original permission object. </remarks>
      <keywords>OraclePermission.Copy method </keywords>
      <returns>A copy of the current permission object. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OraclePermission.FromXml(System.Security.SecurityElement)">
      <summary>Reconstructs a security object with the specified state from XML encoding. </summary>
      <remarks>Custom code that extends security objects need to implement the <see cref="M:Devart.Data.Oracle.OraclePermission.ToXml" /> and <see cref="M:Devart.Data.Oracle.OraclePermission.FromXml" /> methods to make the objects security-encodable. </remarks>
      <keywords>OraclePermission.FromXml method </keywords>
      <param name="passedElement">The XML encoding used to reconstruct the security object. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OraclePermission.Intersect(System.Security.IPermission)">
      <summary>Returns a new permission object representing the intersection of the current permission object and the specified permission object. </summary>
      <remarks>The intersection of two permissions is a permission that describes the set of operations that they both describe in common. Only a demand that passes both original permissions will pass the intersection. </remarks>
      <keywords>OraclePermission.Intersect method </keywords>
      <param name="target">A permission object to intersect with the current permission object. It must have the same type as the current permission object. </param>
      <returns>A new permission object that represents the intersection of the current permission object and the specified permission object. If the intersection is empty, new permission object is a null reference. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OraclePermission.IsSubsetOf(System.Security.IPermission)">
      <summary>Returns a value indicating whether the current permission object is a subset of the specified permission object. </summary>
      <remarks>The current permission object is a subset of the specified permission object if the current permission object specifies a set of operations that is completely contained by the specified permission object. For example, a permission that represents access to C:\example.txt is a subset of a permission that represents access to C:\. If <see cref="M:Devart.Data.Oracle.OraclePermission.IsSubsetOf" /> method returns <see langword="true" />, the current permission object represents no more access to the protected resource than does the specified permission object. </remarks>
      <keywords>OraclePermission.IsSubsetOf method </keywords>
      <param name="target">A permission object to be tested for the subset relationship. This object must have the same type as the current permission object. </param>
      <returns><see langword="true" /> if the current permission object is a subset of the specified permission object; otherwise, <see langword=" false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OraclePermission.IsUnrestricted()">
      <summary>Returns a value indicating whether the permission can be represented as unrestricted without any knowledge of the permission semantics. </summary>
      <keywords>OraclePermission.IsUnrestricted method </keywords>
      <returns><see langword="true" /> if the permission can be represented as unrestricted; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OraclePermission.ToXml()">
      <summary>Creates XML encoding of the security object and its current state. </summary>
      <remarks>Custom code that extends security objects need to implement the <see cref="M:Devart.Data.Oracle.OraclePermission.ToXml" /> and <see cref="M:Devart.Data.Oracle.OraclePermission.FromXml" /> methods to make the objects security-encodable. </remarks>
      <keywords>OraclePermission.ToXml method </keywords>
      <returns>XML encoding of the security object, including any state information. </returns>
    </member>
    <member name="T:Devart.Data.Oracle.OraclePermissionAttribute">
      <summary>Associates a security action with a custom security attribute. </summary>
      <remarks>This class is intended for future use when dotConnect for Oracle is enabled for partial trust scenarios. The provider currently requires FullTrust permission. At present, using the <see cref="T:Devart.Data.Oracle.OraclePermissionAttribute" /> class has no effect. For more information, see Code Access Security and ADO.NET. </remarks>
    </member>
    <member name="M:Devart.Data.Oracle.OraclePermissionAttribute.#ctor(System.Security.Permissions.SecurityAction)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OraclePermissionAttribute" /> class. </summary>
      <param name="action">One of the <see cref="T:System.Security.Permissions.SecurityAction" /> values representing an action that can be performed using declarative security. </param>
    </member>
    <member name="P:Devart.Data.Oracle.OraclePermissionAttribute.AllowBlankPassword">
      <summary>Gets a value indicating whether a blank password is allowed. </summary>
      <keywords>OraclePermissionAttribute.AllowBlankPassword property </keywords>
      <value><see langword="true" /> if a blank password is allowed; otherwise, <see langword="false" />. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OraclePermissionAttribute.CreatePermission()">
      <summary>Returns an <see cref="T:Devart.Data.Oracle.OraclePermission" /> object that is configured according to the attribute properties. </summary>
      <keywords>OraclePermissionAttribute.CreatePermission method </keywords>
      <returns>An <see cref="T:Devart.Data.Oracle.OraclePermission" /> object. </returns>
    </member>
    <member name="T:Devart.Data.Oracle.OraclePipe">
      <summary>Represents Oracle pipe. </summary>
      <remarks><para>
A pipe is an area of memory used by one process to pass information to another. Pipes are designed to collect information on client side and transfer it to a stored procedure, and vice versa.
</para>
<para>
On server side, package DBMS_PIPE allows different sessions to communicate over named pipes.
You can use the procedures pack_message and send_message to pack a message into a pipe and then send it to another session in the same instance or to a waiting application written with dotConnect for Oracle.
To receive incoming message on a server you can use the procedures receive_message and unpack_message to receive and unpack (read) the message.
</para>
<para>
On client side use <see cref="M:Devart.Data.Oracle.OraclePipe.Receive" /> and <see cref="M:Devart.Data.Oracle.OraclePipe.Send(Devart.Data.Oracle.OraclePipeMessageCollection)" /> methods to handle the data, which is represented as <see cref="T:Devart.Data.Oracle.OraclePipeMessageCollection" />.
</para>
<para>This class is available only in Professional and Developer Editions. It is not available in Standard and Mobile Editions.</para> </remarks>
    </member>
    <member name="M:Devart.Data.Oracle.OraclePipe.#ctor()">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OraclePipe" /> class. </summary>
      <overloads>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OraclePipe" /> class. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OraclePipe.#ctor(Devart.Data.Oracle.OracleConnection,System.String)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OraclePipe" /> class. </summary>
      <param name="connection"><see cref="T:Devart.Data.Oracle.OracleConnection" /> used by <see cref="T:Devart.Data.Oracle.OraclePipe" />. </param>
      <param name="pipeName">Name of the pipe. </param>
    </member>
    <member name="P:Devart.Data.Oracle.OraclePipe.Connection">
      <summary>Gets or sets <see cref="T:Devart.Data.Oracle.OracleConnection" /> used by <see cref="T:Devart.Data.Oracle.OraclePipe" />. </summary>
      <keywords>OraclePipe.Connection property </keywords>
      <value><see cref="T:Devart.Data.Oracle.OracleConnection" /> used by <see cref="T:Devart.Data.Oracle.OraclePipe" />. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OraclePipe.MaxPipeSize">
      <summary>Gets or sets maximum space reserved for the pipe. </summary>
      <remarks>The total size of all of the messages on the pipe cannot exceed this amount. The message is blocked if it exceeds this maximum. </remarks>
      <keywords>OraclePipe.MaxPipeSize property </keywords>
      <value>The maximum allowed space in bytes. The default maxpipesize is 8192 bytes. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OraclePipe.PipeName">
      <summary>Gets or sets the name of the pipe. </summary>
      <keywords>OraclePipe.PipeName property </keywords>
      <value>The name of the pipe. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OraclePipe.Purge()">
      <summary>Purges pipe contents. </summary>
      <keywords>OraclePipe.Purge method </keywords>
    </member>
    <member name="M:Devart.Data.Oracle.OraclePipe.Receive()">
      <summary>Receives pipe contents. </summary>
      <remarks>If the message could not be received during the <see cref="P:Devart.Data.Oracle.OraclePipe.ReceiveTimeout" />, an exception is thrown. </remarks>
      <seealso cref="M:Devart.Data.Oracle.OraclePipe.Send" />
      <seealso cref="P:Devart.Data.Oracle.OraclePipe.ReceiveTimeout" />
      <seealso cref="P:Devart.Data.Oracle.OraclePipe.PipeName" />
      <keywords>OraclePipe.Receive method </keywords>
      <returns>An <see cref="T:Devart.Data.Oracle.OraclePipeMessageCollection" /> that represents pipe contents. If the pipe does not exist, the return value is null. If the pipe is empty, the collection returned has zero length. </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OraclePipe.ReceiveTimeout">
      <summary>Gets or sets timeout for <see cref="M:Devart.Data.Oracle.OraclePipe.Receive" /> method to execute. </summary>
      <keywords>OraclePipe.ReceiveTimeout property </keywords>
      <value>Maximum time allowed to fetch the pipe contents. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OraclePipe.Send(Devart.Data.Oracle.OraclePipeMessage)">
      <summary>Sends an <see cref="T:Devart.Data.Oracle.OraclePipeMessage" /> through the pipe. </summary>
      <remarks>If the message could not be sent during the <see cref="P:Devart.Data.Oracle.OraclePipe.SendTimeout" />, an exception is thrown. </remarks>
      <keywords>OraclePipe.Send method </keywords>
      <param name="message"><see cref="T:Devart.Data.Oracle.OraclePipeMessage" /> to send. </param>
      <overloads>Sends data through Oracle pipe. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OraclePipe.Send(Devart.Data.Oracle.OraclePipeMessageCollection)">
      <summary>Sends data as an <see cref="T:Devart.Data.Oracle.OraclePipeMessageCollection" /> through the pipe. </summary>
      <remarks>If the message could not be sent during the <see cref="P:Devart.Data.Oracle.OraclePipe.SendTimeout" />, an exception is thrown. </remarks>
      <keywords>OraclePipe.Send method </keywords>
      <param name="messages"><see cref="T:Devart.Data.Oracle.OraclePipeMessageCollection" /> to send to server. </param>
    </member>
    <member name="P:Devart.Data.Oracle.OraclePipe.SendTimeout">
      <summary>Gets or sets timeout for <see cref="M:Devart.Data.Oracle.OraclePipe.Send(Devart.Data.Oracle.OraclePipeMessageCollection)" /> method to execute. </summary>
      <keywords>OraclePipe.SendTimeout property </keywords>
      <value>Maximum time allowed to send the pipe data in seconds. </value>
    </member>
    <member name="T:Devart.Data.Oracle.OraclePipeMessage">
      <summary>Represents elementary piece of data to transfer through Oracle pipe. </summary>
    </member>
    <member name="M:Devart.Data.Oracle.OraclePipeMessage.#ctor(System.Object,Devart.Data.Oracle.OracleDbType)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OraclePipeMessage" /> class. </summary>
      <param name="value">An <see cref="T:System.Object" /> that is the value of the <see cref="T:Devart.Data.Oracle.OraclePipeMessage" />. The default value is null. </param>
      <param name="type">One of <see cref="T:Devart.Data.Oracle.OracleDbType" /> values. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OraclePipeMessage.ToString()">
      <summary>Returns string representation of the object. </summary>
      <keywords>OraclePipeMessage.ToString method </keywords>
      <returns>The string representation of the object. </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OraclePipeMessage.Type">
      <summary>Gets or sets type of the <see cref="T:Devart.Data.Oracle.OraclePipeMessage" />. </summary>
      <remarks><para>
The following types are supported in <see cref="T:Devart.Data.Oracle.OraclePipeMessage" />:
<list>
  <item>
    <description>OracleDbType.VarChar</description>
  </item>
  <item>
    <description>OracleDbType.Char</description>
  </item>
  <item>
    <description>OracleDbType.Integer</description>
  </item>
  <item>
    <description>OracleDbType.Double</description>
  </item>
  <item>
    <description>OracleDbType.Date</description>
  </item>
  <item>
    <description>OracleDbType.Number</description>
  </item>
</list>
</para> </remarks>
      <keywords>OraclePipeMessage.Type property </keywords>
      <value>One of <see cref="T:Devart.Data.Oracle.OracleDbType" /> values. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OraclePipeMessage.Value">
      <summary>Gets or sets the value of the <see cref="T:Devart.Data.Oracle.OraclePipeMessage" />. </summary>
      <keywords>OraclePipeMessage.Value property </keywords>
      <value>An <see cref="T:System.Object" /> that is the value of the <see cref="T:Devart.Data.Oracle.OraclePipeMessage" />. The default value is null. </value>
    </member>
    <member name="T:Devart.Data.Oracle.OraclePipeMessageCollection">
      <summary>Represents data transferred through Oracle pipe. </summary>
    </member>
    <member name="M:Devart.Data.Oracle.OraclePipeMessageCollection.#ctor()">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OraclePipeMessageCollection" /> class. </summary>
    </member>
    <member name="M:Devart.Data.Oracle.OraclePipeMessageCollection.Add(Devart.Data.Oracle.OraclePipeMessage)">
      <summary>Adds the specified <see cref="T:Devart.Data.Oracle.OraclePipeMessage" /> to the <see cref="T:Devart.Data.Oracle.OraclePipeMessageCollection" />. </summary>
      <keywords>OraclePipeMessageCollection.Add method </keywords>
      <param name="value">The <see cref="T:Devart.Data.Oracle.OraclePipeMessage" /> to add to the collection. </param>
      <returns>Index of the new <see cref="T:Devart.Data.Oracle.OraclePipeMessage" /> object. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OraclePipeMessageCollection.Contains(Devart.Data.Oracle.OraclePipeMessage)">
      <summary>Gets a value indicating whether a <see cref="T:Devart.Data.Oracle.OraclePipeMessage" /> object exists in the collection. </summary>
      <keywords>OraclePipeMessageCollection.Contains method </keywords>
      <param name="value">The value of the <see cref="T:Devart.Data.Oracle.OraclePipeMessage" /> object to find. </param>
      <returns><see langword="true" /> if the collection contains the <see cref="T:Devart.Data.Oracle.OraclePipeMessage" />; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OraclePipeMessageCollection.IndexOf(Devart.Data.Oracle.OraclePipeMessage)">
      <summary>Gets the location in the collection of the <see cref="T:Devart.Data.Oracle.OraclePipeMessage" /> object. </summary>
      <keywords>OraclePipeMessageCollection.IndexOf method </keywords>
      <param name="value">The <see cref="T:Devart.Data.Oracle.OraclePipeMessage" /> object to find. </param>
      <returns>The zero-based location in the collection. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OraclePipeMessageCollection.Insert(System.Int32,Devart.Data.Oracle.OraclePipeMessage)">
      <summary>Inserts a <see cref="T:Devart.Data.Oracle.OraclePipeMessage" /> into the collection at the specified index. </summary>
      <keywords>OraclePipeMessageCollection.Insert method </keywords>
      <param name="index">The zero-based index where the object is to be inserted within the collection. </param>
      <param name="value">The <see cref="T:Devart.Data.Oracle.OraclePipeMessage" /> to add to the collection. </param>
    </member>
    <member name="P:Devart.Data.Oracle.OraclePipeMessageCollection.Item(System.Int32)">
      <summary>Gets or sets the <see cref="T:Devart.Data.Oracle.OraclePipeMessage" /> at the specified index. </summary>
      <keywords>OraclePipeMessageCollection.Item property </keywords>
      <param name="index">The zero-based index of the object. </param>
      <value>The <see cref="T:Devart.Data.Oracle.OraclePipeMessage" /> at the specified index. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OraclePipeMessageCollection.Remove(Devart.Data.Oracle.OraclePipeMessage)">
      <summary>Removes the specified <see cref="T:Devart.Data.Oracle.OraclePipeMessage" /> object from the collection. </summary>
      <keywords>OraclePipeMessageCollection.Remove method </keywords>
      <param name="value"><see cref="T:Devart.Data.Oracle.OraclePipeMessage" /> object to remove. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OraclePipeMessageCollection.ToString()">
      <summary>Returns string representation of the object. </summary>
      <keywords>OraclePipeMessageCollection.ToString method </keywords>
    </member>
    <member name="T:Devart.Data.Oracle.OracleProviderFactory">
      <summary>Represents a factory required to create inheritors of generic base classes to use with dotConnect for Oracle. </summary>
      <remarks><para>You can use <see cref="T:Devart.Data.Oracle.OracleProviderFactory" /> class to implement a code where user chooses which DBMS to use.</para>
<para>
To obtain an instance of the class you can use the <b>DbProviderFactories.GetFactory</b> method with the invariant name <i>Devart.Data.Oracle</i>.
</para> </remarks>
      <example>This sample routine creates and returns <see cref="T:Devart.Common.DbConnection" /> object. <code lang="csharp">public DbConnection GetConnectionBaseClass2(DbProviderFactory factory)
{
// if our factory supports creating a DbConnection, return it.
if ((factory.SupportedClasses &amp; DbProviderSupportedClasses.DbConnection) &gt; 0)
  return factory.CreateConnection();
else
  return null;
} </code><code lang="vb">Public Function GetConnectionBaseClass2(ByVal factory As DbProviderFactory) As DbConnection
  'if our factory supports creating a DbConnection, return it.
  If ((factory.SupportedClasses And DbProviderSupportedClasses.DbConnection) &gt; 0) Then
    Return factory.CreateConnection()
  Else
    Return Nothing
  End If
End Function </code></example>
    </member>
    <member name="M:Devart.Data.Oracle.OracleProviderFactory.#ctor()">
      <summary>Creates an instance of <see cref="T:Devart.Data.Oracle.OracleProviderFactory" />. </summary>
      <remarks>Only one instance of <see cref="T:Devart.Data.Oracle.OracleProviderFactory" /> can exist in the application. </remarks>
    </member>
    <member name="P:Devart.Data.Oracle.OracleProviderFactory.CanCreateDataSourceEnumerator">
      <summary>Gets a value indicating whether the <see cref="T:Devart.Data.Oracle.OracleProviderFactory" /> can create a <see cref="T:Devart.Common.DbDataSourceEnumerator" /> object. </summary>
      <keywords>OracleProviderFactory.CanCreateDataSourceEnumerator property </keywords>
      <value><see langword="true" />, if a <see cref="T:Devart.Common.DbDataSourceEnumerator" /> object can be created; otherwise, <see langword="false" />. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleProviderFactory.CreateCommand()">
      <summary>Creates and returns a <see cref="T:Devart.Data.Oracle.OracleCommand" /> object. </summary>
      <keywords>OracleProviderFactory.CreateCommand method </keywords>
      <returns>A <see cref="T:Devart.Data.Oracle.OracleCommand" /> object. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleProviderFactory.CreateCommandBuilder()">
      <summary>Creates and returns a <see cref="T:Devart.Data.Oracle.OracleCommandBuilder" /> object. </summary>
      <keywords>OracleProviderFactory.CreateCommandBuilder method </keywords>
      <returns>A <see cref="T:Devart.Data.Oracle.OracleCommandBuilder" /> object. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleProviderFactory.CreateConnection()">
      <summary>Creates and returns a <see cref="T:Devart.Data.Oracle.OracleConnection" /> object. </summary>
      <keywords>OracleProviderFactory.CreateConnection method </keywords>
      <returns>A <see cref="T:Devart.Data.Oracle.OracleConnection" /> object. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleProviderFactory.CreateConnectionStringBuilder()">
      <summary>Creates and returns a <see cref="T:Devart.Data.Oracle.OracleConnectionStringBuilder" /> object. </summary>
      <keywords>OracleProviderFactory.CreateConnectionStringBuilder method </keywords>
      <returns>A <see cref="T:Devart.Data.Oracle.OracleConnectionStringBuilder" /> object. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleProviderFactory.CreateDataAdapter()">
      <summary>Creates and returns a <see cref="T:Devart.Data.Oracle.OracleDataAdapter" /> object. </summary>
      <keywords>OracleProviderFactory.CreateDataAdapter method </keywords>
      <returns>A <see cref="T:Devart.Data.Oracle.OracleDataAdapter" /> object. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleProviderFactory.CreateDataSourceEnumerator()">
      <summary>Returns a new instance of the dotConnect for Oracle class that implements the <see cref="T:System.Data.Common.DbDataSourceEnumerator" /> class. </summary>
      <keywords>OracleProviderFactory.CreateDataSourceEnumerator method </keywords>
      <returns>A new instance of <see cref="T:System.Data.Common.DbDataSourceEnumerator" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleProviderFactory.CreateParameter()">
      <summary>Creates and returns a <see cref="T:Devart.Data.Oracle.OracleParameter" /> object. </summary>
      <keywords>OracleProviderFactory.CreateParameter method </keywords>
      <returns>A <see cref="T:Devart.Data.Oracle.OracleParameter" /> object. </returns>
    </member>
    <member name="F:Devart.Data.Oracle.OracleProviderFactory.Instance">
      <summary>Returns the instance of <see cref="T:Devart.Data.Oracle.OracleProviderFactory" />. </summary>
      <keywords>OracleProviderFactory.Instance field </keywords>
    </member>
    <member name="T:Devart.Data.Oracle.OracleQueryBasedNotificationMode">
      <summary>Specifies the mode for query-based notifications. </summary>
      <seealso cref="P:Devart.Data.Oracle.OracleNotificationRequest.QueryBasedNotificationMode" />
    </member>
    <member name="F:Devart.Data.Oracle.OracleQueryBasedNotificationMode.BestEffort">
      <summary>The best-effort mode. No notifications are lost, however, false positives may occur in this mode. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleQueryBasedNotificationMode.Guaranteed">
      <summary>The guaranteed mode. Any database change notification ensures that a change occurred to the queried result set. However some complex queries cannot be registered in this mode. The best-effort mode is used for them. </summary>
    </member>
    <member name="T:Devart.Data.Oracle.OracleQueue">
      <summary>Represents Oracle Streams Advanced Queuing (AQ). </summary>
      <remarks>This class provides an interface for using queues: adding, deleting messages, listing queues. It is not to be used for administration of queues and queue tables, or for permissions management. For these purposes the <see cref="T:Devart.Data.Oracle.OracleQueueAdmin" /> and <see cref="T:Devart.Data.Oracle.OracleQueueTable" /> components should be used.
<para>This class is available only in Professional and Developer Editions. It is not available in Standard and Mobile Editions.</para> </remarks>
      <example>The following example demonstrates usage of <see cref="T:Devart.Data.Oracle.OracleQueue" />, <see cref="T:Devart.Data.Oracle.OracleQueueAdmin" />, <see cref="T:Devart.Data.Oracle.OracleQueueTable" />, <see cref="T:Devart.Data.Oracle.OracleQueueTableOptions" />, and <see cref="T:Devart.Data.Oracle.OracleQueueMessage" /> classes. For detailed description of advanced queuing and more samples, refer to the  <a href="AQ.html">Advanced Queuing Technology</a> article. <code lang="csharp">static void Main(string[] args)
{
	using (OracleConnection oracleConnection = new OracleConnection(
			"User Id=system;Password=manager;Server=ora;Direct=False;")) {
		oracleConnection.Open();
		OracleCommand oracleCommand = new OracleCommand(
			"CREATE OR REPLACE TYPE message AS OBJECT (nickname VARCHAR2(15), " +
			"mestext VARCHAR2(80));", oracleConnection);
		oracleCommand.ExecuteNonQuery();
		OracleQueueTable oracleQueueTable = new OracleQueueTable("QUEUE_TABLE_MESSAGE", oracleConnection);
		oracleQueueTable.Options.PayloadTypeName = "message";
		oracleQueueTable.CreateQueueTable();
		OracleQueueAdmin oracleQueueAdmin = new OracleQueueAdmin("MESSAGE_QUEUE",
			"QUEUE_TABLE_MESSAGE", oracleConnection);
		oracleQueueAdmin.CreateQueue();
		oracleQueueAdmin.StartQueue();
		OracleQueue oracleEnqueueQueue = new OracleQueue("MESSAGE_QUEUE", oracleConnection);
		OracleObject mes = new OracleObject("message", oracleConnection);
		mes["nickname"] = oracleConnection.UserId;
		mes["mestext"] = "Hello, world!";
		oracleEnqueueQueue.Enqueue(mes);
		OracleQueue oracleDequeueQueue = new OracleQueue("MESSAGE_QUEUE", oracleConnection);
		OracleQueueMessage msg = oracleDequeueQueue.Dequeue();
		if (msg != null &amp;&amp; msg.ObjectPayload != null) {
			Console.WriteLine(msg.ObjectPayload["nickname"]);
			Console.WriteLine(msg.ObjectPayload["mestext"]);
		}
		oracleQueueAdmin.StopQueue();
		oracleQueueAdmin.DropQueue();
		oracleQueueTable.DropQueueTable();
		oracleConnection.Close();
	}
} </code><code lang="vb">Sub Main()
	Using oracleConnection As New OracleConnection("User Id=system;Password=manager;Server=ora;Direct=False;")
		oracleConnection.Open()
		Dim oracleCommand As New OracleCommand("CREATE OR REPLACE TYPE message " &amp; _
			"AS OBJECT (nickname VARCHAR2(15), mestext VARCHAR2(80));", oracleConnection)
		OracleCommand.ExecuteNonQuery()
		Dim oracleQueueTable As New OracleQueueTable("QUEUE_TABLE_MESSAGE", oracleConnection)
		oracleQueueTable.Options.PayloadTypeName = "message"
		oracleQueueTable.CreateQueueTable()
		Dim oracleQueueAdmin As New OracleQueueAdmin("MESSAGE_QUEUE", _
			"QUEUE_TABLE_MESSAGE", oracleConnection)
		oracleQueueAdmin.CreateQueue()
		oracleQueueAdmin.StartQueue()
		Dim oracleEnqueueQueue As New OracleQueue("MESSAGE_QUEUE", oracleConnection)
		Dim mes As New OracleObject("message", oracleConnection)
		mes.Item("nickname") = oracleConnection.UserId
		mes.Item("mestext") = "Hello, world!"
		oracleEnqueueQueue.Enqueue(mes)
		Dim oracleDequeueQueue As New OracleQueue("MESSAGE_QUEUE", oracleConnection)
		Dim msg As OracleQueueMessage = oracleDequeueQueue.Dequeue()
		If ((Not msg Is Nothing) AndAlso (Not msg.ObjectPayload Is Nothing)) Then
			Console.WriteLine(msg.ObjectPayload.Item("nickname"))
			Console.WriteLine(msg.ObjectPayload.Item("mestext"))
		End If
		oracleQueueAdmin.StopQueue()
		oracleQueueAdmin.DropQueue()
		oracleQueueTable.DropQueueTable()
		oracleConnection.Close()
    End Using
End Sub </code></example>
      <seealso cref="T:Devart.Data.Oracle.OracleQueueAdmin" />
      <seealso cref="T:Devart.Data.Oracle.OracleQueueTable" />
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueue.#ctor()">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleQueue" /> class. </summary>
      <overloads>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleQueue" /> class. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueue.#ctor(System.String)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleQueue" /> class. </summary>
      <param name="name">The name of the queue created on a server. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueue.#ctor(System.String,Devart.Data.Oracle.OracleConnection)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleQueue" /> class. </summary>
      <remarks>These fields must be initialized before calling any function. </remarks>
      <param name="name">The name of the queue created on a server. </param>
      <param name="connection">A <see cref="T:Devart.Data.Oracle.OracleConnection" /> that represents the connection to an instance of Oracle server. </param>
    </member>
    <member name="P:Devart.Data.Oracle.OracleQueue.AsyncNotification">
      <summary>Switches asynchronous listening on or off. </summary>
      <keywords>OracleQueue.AsyncNotification property </keywords>
      <value><see langword="true" /> if the asynchronous listening is on; otherwise, <see langword="false" />. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueue.BeginInit()">
      <summary>Begins the initialization of an <see cref="T:Devart.Data.Oracle.OracleQueue" />. The initialization occurs at run time. </summary>
      <keywords>OracleQueue.BeginInit method </keywords>
    </member>
    <member name="P:Devart.Data.Oracle.OracleQueue.Connection">
      <summary>Gets or sets the <see cref="T:Devart.Data.Oracle.OracleConnection" /> to the Oracle server which provides AQ functionality. </summary>
      <remarks>It has to be set and opened before calling any function. </remarks>
      <keywords>OracleQueue.Connection property </keywords>
      <value>The <see cref="T:Devart.Data.Oracle.OracleConnection" /> to the Oracle server which provides AQ functionality. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueue.Dequeue()">
      <summary>Dequeues a message from the specified queue. </summary>
      <keywords>OracleQueue.Dequeue method </keywords>
      <returns>Returns the message received. </returns>
      <overloads>Dequeues a message from the specified queue. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueue.Dequeue(Devart.Data.Oracle.OracleQueueDequeueOptions)">
      <summary>Dequeues a message from the specified queue. </summary>
      <keywords>OracleQueue.Dequeue method </keywords>
      <param name="deqOptions">Options for dequeueing.
If skipped, they are derived from <see cref="P:Devart.Data.Oracle.OracleQueue.DequeueOptions" /> property. </param>
      <returns>Returns the message received. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueue.DequeueArray(System.Int32)">
      <summary>Dequeues an array of messages. </summary>
      <keywords>OracleQueue.DequeueArray method </keywords>
      <param name="size">The number of elements to dequeue. </param>
      <returns>Returns the array of received messages. </returns>
      <overloads>Dequeues an array of messages. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueue.DequeueArray(System.Int32,Devart.Data.Oracle.OracleQueueDequeueOptions)">
      <summary>Dequeues an array of messages. </summary>
      <keywords>OracleQueue.DequeueArray method </keywords>
      <param name="size">The number of elements to dequeue. </param>
      <param name="deqOptions">Dequeue options. If skipped, they are obtained from <see cref="P:Devart.Data.Oracle.OracleQueue.DequeueOptions" /> property. </param>
      <returns>Returns the array of received messages. </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleQueue.DequeueOptions">
      <summary>Gets or sets dequeue options, which are used to dequeue messages from queues by default. </summary>
      <keywords>OracleQueue.DequeueOptions property </keywords>
      <value>Dequeue options, which are used to dequeue messages from queues by default. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueue.EndInit()">
      <summary>Ends the initialization of an <see cref="T:Devart.Data.Oracle.OracleQueue" />. The initialization occurs at run time. </summary>
      <keywords>OracleQueue.EndInit method </keywords>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueue.Enqueue(Devart.Data.Oracle.OracleBinary)">
      <summary>Adds a message to the queue of RAW objects. </summary>
      <keywords>OracleQueue.Enqueue method </keywords>
      <param name="payload">RAW message payload. </param>
      <returns>System generated identification of the message. 
This is a globally unique identifier that can be used to identify the message at dequeue time. </returns>
      <overloads>Adds a message to the specified queue. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueue.Enqueue(Devart.Data.Oracle.OracleBinary,Devart.Data.Oracle.OracleQueueMessageProperties,Devart.Data.Oracle.OracleQueueEnqueueOptions)">
      <summary>Adds a message to the queue of RAW objects. </summary>
      <keywords>OracleQueue.Enqueue method </keywords>
      <param name="payload">RAW message payload. </param>
      <param name="messageProperties">Message properties.
If skipped or null, they are obtained from <see cref="P:Devart.Data.Oracle.OracleQueue.EnqueueMessageProperties" /> property. </param>
      <param name="enqOptions">Options for inserting.
If skipped or null, they are obtained from <see cref="P:Devart.Data.Oracle.OracleQueue.EnqueueOptions" /> property. </param>
      <returns>System generated identification of the message. 
This is a globally unique identifier that can be used to identify the message at dequeue time. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueue.Enqueue(Devart.Data.Oracle.OracleObject)">
      <summary>Adds a message to the specified queue. </summary>
      <keywords>OracleQueue.Enqueue method </keywords>
      <param name="payload">Instance of message object. </param>
      <returns>System generated identification of the message. 
This is a globally unique identifier that can be used to identify the message at dequeue time. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueue.Enqueue(Devart.Data.Oracle.OracleObject,Devart.Data.Oracle.OracleQueueMessageProperties,Devart.Data.Oracle.OracleQueueEnqueueOptions)">
      <summary>Adds a message to the specified queue. </summary>
      <keywords>OracleQueue.Enqueue method </keywords>
      <param name="payload">Instance of message object. </param>
      <param name="messageProperties">Message properties.
If skipped or null, they are obtained from <see cref="P:Devart.Data.Oracle.OracleQueue.EnqueueMessageProperties" /> property. </param>
      <param name="enqOptions">Options for inserting.
If skipped or null, they are obtained from <see cref="P:Devart.Data.Oracle.OracleQueue.EnqueueOptions" /> property. </param>
      <returns>System generated identification of the message. 
This is a globally unique identifier that can be used to identify the message at dequeue time. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueue.Enqueue(Devart.Data.Oracle.OracleQueueMessage)">
      <summary>Adds a message to the specified queue. </summary>
      <keywords>OracleQueue.Enqueue method </keywords>
      <param name="message">A message to be enqueued. </param>
      <returns>System generated identification of the message. 
This is a globally unique identifier that can be used to identify the message at dequeue time. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueue.Enqueue(Devart.Data.Oracle.OracleQueueMessage,Devart.Data.Oracle.OracleQueueEnqueueOptions)">
      <summary>Adds a message to the specified queue. </summary>
      <keywords>OracleQueue.Enqueue method </keywords>
      <param name="message">A message to be enqueued. </param>
      <param name="enqOptions">Options for inserting a message into a queue.
If skipped or null, they are obtained from <see cref="P:Devart.Data.Oracle.OracleQueue.EnqueueOptions" /> property. </param>
      <returns>System generated identification of the message. 
This is a globally unique identifier that can be used to identify the message at dequeue time. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueue.Enqueue(System.Byte[])">
      <summary>Adds a message to the queue of RAW objects. </summary>
      <keywords>OracleQueue.Enqueue method </keywords>
      <param name="payload">RAW message payload. </param>
      <returns>System generated identification of the message. 
This is a globally unique identifier that can be used to identify the message at dequeue time. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueue.Enqueue(System.Byte[],Devart.Data.Oracle.OracleQueueMessageProperties,Devart.Data.Oracle.OracleQueueEnqueueOptions)">
      <summary>Adds a message to the queue of RAW objects. </summary>
      <keywords>OracleQueue.Enqueue method </keywords>
      <param name="payload">RAW message payload. </param>
      <param name="messageProperties">Message properties.
If skipped or null, they are obtained from <see cref="P:Devart.Data.Oracle.OracleQueue.EnqueueMessageProperties" /> property. </param>
      <param name="enqOptions">Options for inserting.
If skipped or null, they are obtained from <see cref="P:Devart.Data.Oracle.OracleQueue.EnqueueOptions" /> property. </param>
      <returns>System generated identification of the message. 
This is a globally unique identifier that can be used to identify the message at dequeue time. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueue.Enqueue(System.String)">
      <summary>Inserts a message into a queue of RAW objects. 
String is converted to a byte array using default encoding. </summary>
      <keywords>OracleQueue.Enqueue method </keywords>
      <param name="payload">String message payload. </param>
      <returns>System generated identification of the message. 
This is a globally unique identifier that can be used to identify the message at dequeue time. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueue.Enqueue(System.String,Devart.Data.Oracle.OracleQueueMessageProperties,Devart.Data.Oracle.OracleQueueEnqueueOptions)">
      <summary>Inserts a message into a queue of RAW objects. 
String is converted to a byte array using default encoding. </summary>
      <keywords>OracleQueue.Enqueue method </keywords>
      <param name="payload">String message payload. </param>
      <param name="messageProperties">Message properties.
If skipped or null, they are obtained from <see cref="P:Devart.Data.Oracle.OracleQueue.EnqueueMessageProperties" /> property. </param>
      <param name="enqOptions">Options for inserting.
If skipped or null, they are obtained from <see cref="P:Devart.Data.Oracle.OracleQueue.EnqueueOptions" /> property. </param>
      <returns>System generated identification of the message. 
This is a globally unique identifier that can be used to identify the message at dequeue time. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueue.EnqueueArray(Devart.Data.Oracle.OracleBinary[])">
      <summary>Adds an array of messages into a queue of the RAW type. </summary>
      <keywords>OracleQueue.EnqueueArray method </keywords>
      <param name="payloads">Array of RAW payloads. </param>
      <returns>Returns an array of message IDs of the enqueued messages. </returns>
      <overloads>Enqueues an array of messages. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueue.EnqueueArray(Devart.Data.Oracle.OracleBinary[],Devart.Data.Oracle.OracleQueueMessageProperties[],Devart.Data.Oracle.OracleQueueEnqueueOptions)">
      <summary>Inserts an array of messages into a queue of type 'RAW'. </summary>
      <keywords>OracleQueue.EnqueueArray method </keywords>
      <param name="payloads">Array of RAW payloads. </param>
      <param name="properties">Array of messages properties.
If skipped or null, it is derived from <see cref="P:Devart.Data.Oracle.OracleQueue.EnqueueMessageProperties" /> property. </param>
      <param name="enqOptions">Options for inserting.
If skipped or null, they are obtained from <see cref="P:Devart.Data.Oracle.OracleQueue.EnqueueOptions" /> property. </param>
      <returns>Returns an array of message IDs of the enqueued messages. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueue.EnqueueArray(Devart.Data.Oracle.OracleObject[])">
      <summary>Adds an array of messages of user-defined type to the specified queue. </summary>
      <keywords>OracleQueue.EnqueueArray method </keywords>
      <param name="payloads">Array of objects from which messages will be constructed. </param>
      <returns>Returns an array of message IDs of the enqueued messages. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueue.EnqueueArray(Devart.Data.Oracle.OracleObject[],Devart.Data.Oracle.OracleQueueMessageProperties[],Devart.Data.Oracle.OracleQueueEnqueueOptions)">
      <summary>Adds an array of messages of user-defined type to the specified queue. </summary>
      <keywords>OracleQueue.EnqueueArray method </keywords>
      <param name="payloads">Array of objects from which messages will be constructed. </param>
      <param name="properties">Array of messages properties.
If skipped or null, it is derived from <see cref="P:Devart.Data.Oracle.OracleQueue.EnqueueMessageProperties" /> property. </param>
      <param name="enqOptions">Options for inserting.
If skipped or null, they are obtained from <see cref="P:Devart.Data.Oracle.OracleQueue.EnqueueOptions" /> property. </param>
      <returns>Returns an array of message IDs of the enqueued messages. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueue.EnqueueArray(System.String[])">
      <summary>Adds an array of messages into a queue of the RAW type. Strings are converted to byte array using default encoding. </summary>
      <keywords>OracleQueue.EnqueueArray method </keywords>
      <param name="payloads">Array of string message payloads. </param>
      <returns>Returns an array of message IDs of the enqueued messages. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueue.EnqueueArray(System.String[],Devart.Data.Oracle.OracleQueueMessageProperties[],Devart.Data.Oracle.OracleQueueEnqueueOptions)">
      <summary>Adds an array of messages of user-defined type to the specified queue. </summary>
      <keywords>OracleQueue.EnqueueArray method </keywords>
      <param name="payloads">Array of string message payloads. </param>
      <param name="properties">Array of messages properties.
If skipped or null, it is derived from <see cref="P:Devart.Data.Oracle.OracleQueue.EnqueueMessageProperties" /> property. </param>
      <param name="enqOptions">Options for inserting.
If skipped or null, they are obtained from <see cref="P:Devart.Data.Oracle.OracleQueue.EnqueueOptions" /> property. </param>
      <returns>Returns an array of message IDs of the enqueued messages. </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleQueue.EnqueueMessageProperties">
      <summary>Gets or sets message properties used by default when inserting messages into queues. </summary>
      <keywords>OracleQueue.EnqueueMessageProperties property </keywords>
      <value>Message properties used by default when inserting messages into queues. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleQueue.EnqueueOptions">
      <summary>Gets or sets enqueue options used for inserting messages into queues by default. </summary>
      <keywords>OracleQueue.EnqueueOptions property </keywords>
      <value>Enqueue options used for inserting messages into queues by default. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueue.FindPayloadArrayType()">
      <summary>Makes an attempt to find PayloadArrayTypeName for PayloadTypeName. 
PayloadTypeName property has to be set. </summary>
      <keywords>OracleQueue.FindPayloadArrayType method </keywords>
      <returns>Returns PayloadArrayTypeName.
If not found, returns null. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueue.Listen(Devart.Data.Oracle.OracleQueueAgentCollection)">
      <summary>Listens on one or more queues on behalf of a list of agents. </summary>
      <example>The following example demonstrates the usage of <see cref="M:Devart.Data.Oracle.OracleQueue.Listen(Devart.Data.Oracle.OracleQueueAgentCollection)" /> method. <code lang="csharp">OracleConnection oracleConnection = new OracleConnection(
	"User Id=system;Password=manager;Server=ora11;");
oracleConnection.Open();

OracleQueueTable oracleQueueTable = new OracleQueueTable(
	"QUEUE_TABLE_MESSAGE", oracleConnection);

// Set the table to serve multiple consumers.
oracleQueueTable.Options.MultipleConsumers = true;
oracleQueueTable.Options.PayloadTypeName = "RAW";
oracleQueueTable.CreateQueueTable();
OracleQueueAdmin oracleQueueAdmin = new OracleQueueAdmin(
	"MESSAGE_QUEUE", "QUEUE_TABLE_MESSAGE", oracleConnection);
oracleQueueAdmin.CreateQueue();
oracleQueueAdmin.StartQueue();

oracleQueueAdmin.AddSubscriber(new OracleQueueAgent("Bob"));

OracleQueue oracleEnqueueQueue = new OracleQueue("MESSAGE_QUEUE", oracleConnection);

OracleQueueMessage message = new OracleQueueMessage();
message.StringPayload = "Message for Bob.";
message.MessageProperties.RecipientList.Add(new OracleQueueAgent("Bob"));
oracleEnqueueQueue.Enqueue(message);

OracleQueue oracleDequeueQueue = new OracleQueue();
oracleDequeueQueue.Connection = oracleConnection;

OracleQueueAgentCollection coll = new OracleQueueAgentCollection();
coll.Add(new OracleQueueAgent("Bob", "MESSAGE_QUEUE"));

// listening only for 60 seconds instead of blocking thread forever
OracleQueueAgent agent = oracleDequeueQueue.Listen(coll, 60);
            
Console.WriteLine("The following consumer received a message: {0}", agent.Name);
oracleDequeueQueue.QueueName = agent.Address;
oracleDequeueQueue.DequeueOptions.ConsumerName = agent.Name;
Console.WriteLine("The message: {0}", oracleDequeueQueue.Dequeue().StringPayload);

oracleQueueAdmin.StopQueue();
oracleQueueAdmin.DropQueue();
oracleQueueTable.DropQueueTable();

oracleConnection.Close(); </code><code lang="vb">Dim oracleConnection As New OracleConnection("User Id=system;Password=manager;Server=ora11;")
oracleConnection.Open()

Dim oracleQueueTable As New OracleQueueTable("QUEUE_TABLE_MESSAGE", oracleConnection)

' Set the table to serve multiple consumers.
oracleQueueTable.Options.MultipleConsumers = True
oracleQueueTable.Options.PayloadTypeName = "RAW"
oracleQueueTable.CreateQueueTable()
Dim oracleQueueAdmin As New OracleQueueAdmin("MESSAGE_QUEUE", "QUEUE_TABLE_MESSAGE", oracleConnection)
oracleQueueAdmin.CreateQueue()
oracleQueueAdmin.StartQueue()

oracleQueueAdmin.AddSubscriber(New OracleQueueAgent("Bob"))

Dim oracleEnqueueQueue As New OracleQueue("MESSAGE_QUEUE", oracleConnection)

Dim message As New OracleQueueMessage()
message.StringPayload = "Message for Bob."
message.MessageProperties.RecipientList.Add(New OracleQueueAgent("Bob"))
oracleEnqueueQueue.Enqueue(message)

Dim oracleDequeueQueue As New OracleQueue()
oracleDequeueQueue.Connection = oracleConnection

Dim coll As New OracleQueueAgentCollection()
coll.Add(New OracleQueueAgent("Bob", "MESSAGE_QUEUE"))

' listening only for 60 seconds instead of blocking thread forever
Dim agent As OracleQueueAgent = oracleDequeueQueue.Listen(coll, 60)

Console.WriteLine("The following consumer received a message: {0}", agent.Name)
oracleDequeueQueue.QueueName = agent.Address
oracleDequeueQueue.DequeueOptions.ConsumerName = agent.Name
Console.WriteLine("The message: {0}", oracleDequeueQueue.Dequeue().StringPayload)

oracleQueueAdmin.StopQueue()
oracleQueueAdmin.DropQueue()
oracleQueueTable.DropQueueTable()

oracleConnection.Close() </code></example>
      <keywords>OracleQueue.Listen method </keywords>
      <param name="agents">List of agents to listen for. </param>
      <returns>Agent with a message available for consumption. </returns>
      <overloads>This procedure listens on one or more queues on behalf of a list of agents. The address field of the agent indicates the queue the agent wants to monitor. Only local queues are supported as addresses. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueue.Listen(Devart.Data.Oracle.OracleQueueAgentCollection,Devart.Data.Oracle.OracleConnection)">
      <summary>Listens on one or more queues on behalf of a list of agents. </summary>
      <example>The following example demonstrates the usage of <see cref="M:Devart.Data.Oracle.OracleQueue.Listen(Devart.Data.Oracle.OracleQueueAgentCollection,Devart.Data.Oracle.OracleConnection)" /> method. <code lang="csharp">OracleConnection oracleConnection = new OracleConnection(
	"User Id=system;Password=manager;Server=ora11;");
oracleConnection.Open();

OracleQueueTable oracleQueueTable = new OracleQueueTable(
	"QUEUE_TABLE_MESSAGE", oracleConnection);

// Set the table to serve multiple consumers.
oracleQueueTable.Options.MultipleConsumers = true;
oracleQueueTable.Options.PayloadTypeName = "RAW";
oracleQueueTable.CreateQueueTable();
OracleQueueAdmin oracleQueueAdmin = new OracleQueueAdmin(
	"MESSAGE_QUEUE", "QUEUE_TABLE_MESSAGE", oracleConnection);
oracleQueueAdmin.CreateQueue();
oracleQueueAdmin.StartQueue();

oracleQueueAdmin.AddSubscriber(new OracleQueueAgent("Bob"));

OracleQueue oracleEnqueueQueue = new OracleQueue("MESSAGE_QUEUE", oracleConnection);

OracleQueueMessage message = new OracleQueueMessage();
message.StringPayload = "Message for Bob.";
message.MessageProperties.RecipientList.Add(new OracleQueueAgent("Bob"));
oracleEnqueueQueue.Enqueue(message);

OracleQueue oracleDequeueQueue = new OracleQueue();
oracleDequeueQueue.Connection = oracleConnection;

OracleQueueAgentCollection coll = new OracleQueueAgentCollection();
coll.Add(new OracleQueueAgent("Bob", "MESSAGE_QUEUE"));

// listening only for 60 seconds instead of blocking thread forever
OracleQueueAgent agent = oracleDequeueQueue.Listen(coll, 60);
            
Console.WriteLine("The following consumer received a message: {0}", agent.Name);
oracleDequeueQueue.QueueName = agent.Address;
oracleDequeueQueue.DequeueOptions.ConsumerName = agent.Name;
Console.WriteLine("The message: {0}", oracleDequeueQueue.Dequeue().StringPayload);

oracleQueueAdmin.StopQueue();
oracleQueueAdmin.DropQueue();
oracleQueueTable.DropQueueTable();

oracleConnection.Close(); </code><code lang="vb">Dim oracleConnection As New OracleConnection("User Id=system;Password=manager;Server=ora11;")
oracleConnection.Open()

Dim oracleQueueTable As New OracleQueueTable("QUEUE_TABLE_MESSAGE", oracleConnection)

' Set the table to serve multiple consumers.
oracleQueueTable.Options.MultipleConsumers = True
oracleQueueTable.Options.PayloadTypeName = "RAW"
oracleQueueTable.CreateQueueTable()
Dim oracleQueueAdmin As New OracleQueueAdmin("MESSAGE_QUEUE", "QUEUE_TABLE_MESSAGE", oracleConnection)
oracleQueueAdmin.CreateQueue()
oracleQueueAdmin.StartQueue()

oracleQueueAdmin.AddSubscriber(New OracleQueueAgent("Bob"))

Dim oracleEnqueueQueue As New OracleQueue("MESSAGE_QUEUE", oracleConnection)

Dim message As New OracleQueueMessage()
message.StringPayload = "Message for Bob."
message.MessageProperties.RecipientList.Add(New OracleQueueAgent("Bob"))
oracleEnqueueQueue.Enqueue(message)

Dim oracleDequeueQueue As New OracleQueue()
oracleDequeueQueue.Connection = oracleConnection

Dim coll As New OracleQueueAgentCollection()
coll.Add(New OracleQueueAgent("Bob", "MESSAGE_QUEUE"))

' listening only for 60 seconds instead of blocking thread forever
Dim agent As OracleQueueAgent = oracleDequeueQueue.Listen(coll, 60)

Console.WriteLine("The following consumer received a message: {0}", agent.Name)
oracleDequeueQueue.QueueName = agent.Address
oracleDequeueQueue.DequeueOptions.ConsumerName = agent.Name
Console.WriteLine("The message: {0}", oracleDequeueQueue.Dequeue().StringPayload)

oracleQueueAdmin.StopQueue()
oracleQueueAdmin.DropQueue()
oracleQueueTable.DropQueueTable()

oracleConnection.Close() </code></example>
      <keywords>OracleQueue.Listen method </keywords>
      <param name="agents">List of agents to listen for. </param>
      <param name="connection">A <see cref="T:Devart.Data.Oracle.OracleConnection" /> that represents the connection to an instance of Oracle server. </param>
      <returns>Agent with a message available for consumption. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueue.Listen(Devart.Data.Oracle.OracleQueueAgentCollection,System.Int32)">
      <summary>Listens on one or more queues on behalf of a list of agents. </summary>
      <example>The following example demonstrates the usage of <see cref="M:Devart.Data.Oracle.OracleQueue.Listen(Devart.Data.Oracle.OracleQueueAgentCollection,System.Int32)" /> method. <code lang="csharp">OracleConnection oracleConnection = new OracleConnection(
	"User Id=system;Password=manager;Server=ora11;");
oracleConnection.Open();

OracleQueueTable oracleQueueTable = new OracleQueueTable(
	"QUEUE_TABLE_MESSAGE", oracleConnection);

// Set the table to serve multiple consumers.
oracleQueueTable.Options.MultipleConsumers = true;
oracleQueueTable.Options.PayloadTypeName = "RAW";
oracleQueueTable.CreateQueueTable();
OracleQueueAdmin oracleQueueAdmin = new OracleQueueAdmin(
	"MESSAGE_QUEUE", "QUEUE_TABLE_MESSAGE", oracleConnection);
oracleQueueAdmin.CreateQueue();
oracleQueueAdmin.StartQueue();

oracleQueueAdmin.AddSubscriber(new OracleQueueAgent("Bob"));

OracleQueue oracleEnqueueQueue = new OracleQueue("MESSAGE_QUEUE", oracleConnection);

OracleQueueMessage message = new OracleQueueMessage();
message.StringPayload = "Message for Bob.";
message.MessageProperties.RecipientList.Add(new OracleQueueAgent("Bob"));
oracleEnqueueQueue.Enqueue(message);

OracleQueue oracleDequeueQueue = new OracleQueue();
oracleDequeueQueue.Connection = oracleConnection;

OracleQueueAgentCollection coll = new OracleQueueAgentCollection();
coll.Add(new OracleQueueAgent("Bob", "MESSAGE_QUEUE"));

// listening only for 60 seconds instead of blocking thread forever
OracleQueueAgent agent = oracleDequeueQueue.Listen(coll, 60);
            
Console.WriteLine("The following consumer received a message: {0}", agent.Name);
oracleDequeueQueue.QueueName = agent.Address;
oracleDequeueQueue.DequeueOptions.ConsumerName = agent.Name;
Console.WriteLine("The message: {0}", oracleDequeueQueue.Dequeue().StringPayload);

oracleQueueAdmin.StopQueue();
oracleQueueAdmin.DropQueue();
oracleQueueTable.DropQueueTable();

oracleConnection.Close(); </code><code lang="vb">Dim oracleConnection As New OracleConnection("User Id=system;Password=manager;Server=ora11;")
oracleConnection.Open()

Dim oracleQueueTable As New OracleQueueTable("QUEUE_TABLE_MESSAGE", oracleConnection)

' Set the table to serve multiple consumers.
oracleQueueTable.Options.MultipleConsumers = True
oracleQueueTable.Options.PayloadTypeName = "RAW"
oracleQueueTable.CreateQueueTable()
Dim oracleQueueAdmin As New OracleQueueAdmin("MESSAGE_QUEUE", "QUEUE_TABLE_MESSAGE", oracleConnection)
oracleQueueAdmin.CreateQueue()
oracleQueueAdmin.StartQueue()

oracleQueueAdmin.AddSubscriber(New OracleQueueAgent("Bob"))

Dim oracleEnqueueQueue As New OracleQueue("MESSAGE_QUEUE", oracleConnection)

Dim message As New OracleQueueMessage()
message.StringPayload = "Message for Bob."
message.MessageProperties.RecipientList.Add(New OracleQueueAgent("Bob"))
oracleEnqueueQueue.Enqueue(message)

Dim oracleDequeueQueue As New OracleQueue()
oracleDequeueQueue.Connection = oracleConnection

Dim coll As New OracleQueueAgentCollection()
coll.Add(New OracleQueueAgent("Bob", "MESSAGE_QUEUE"))

' listening only for 60 seconds instead of blocking thread forever
Dim agent As OracleQueueAgent = oracleDequeueQueue.Listen(coll, 60)

Console.WriteLine("The following consumer received a message: {0}", agent.Name)
oracleDequeueQueue.QueueName = agent.Address
oracleDequeueQueue.DequeueOptions.ConsumerName = agent.Name
Console.WriteLine("The message: {0}", oracleDequeueQueue.Dequeue().StringPayload)

oracleQueueAdmin.StopQueue()
oracleQueueAdmin.DropQueue()
oracleQueueTable.DropQueueTable()

oracleConnection.Close() </code></example>
      <keywords>OracleQueue.Listen method </keywords>
      <param name="agents">List of agents to listen for. </param>
      <param name="waitTimeout">Time out for the listen call in seconds.
By default, the call will block forever. </param>
      <returns>Agent with a message available for consumption. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueue.Listen(Devart.Data.Oracle.OracleQueueAgentCollection,System.Int32,Devart.Data.Oracle.OracleConnection)">
      <summary>Listens on one or more queues on behalf of a list of agents. </summary>
      <example>The following example demonstrates the usage of <see cref="M:Devart.Data.Oracle.OracleQueue.Listen(Devart.Data.Oracle.OracleQueueAgentCollection,System.Int32,Devart.Data.Oracle.OracleConnection)" /> method. <code lang="csharp">OracleConnection oracleConnection = new OracleConnection(
	"User Id=system;Password=manager;Server=ora11;");
oracleConnection.Open();

OracleQueueTable oracleQueueTable = new OracleQueueTable(
	"QUEUE_TABLE_MESSAGE", oracleConnection);

// Set the table to serve multiple consumers.
oracleQueueTable.Options.MultipleConsumers = true;
oracleQueueTable.Options.PayloadTypeName = "RAW";
oracleQueueTable.CreateQueueTable();
OracleQueueAdmin oracleQueueAdmin = new OracleQueueAdmin(
	"MESSAGE_QUEUE", "QUEUE_TABLE_MESSAGE", oracleConnection);
oracleQueueAdmin.CreateQueue();
oracleQueueAdmin.StartQueue();

oracleQueueAdmin.AddSubscriber(new OracleQueueAgent("Bob"));

OracleQueue oracleEnqueueQueue = new OracleQueue("MESSAGE_QUEUE", oracleConnection);

OracleQueueMessage message = new OracleQueueMessage();
message.StringPayload = "Message for Bob.";
message.MessageProperties.RecipientList.Add(new OracleQueueAgent("Bob"));
oracleEnqueueQueue.Enqueue(message);

OracleQueue oracleDequeueQueue = new OracleQueue();
oracleDequeueQueue.Connection = oracleConnection;

OracleQueueAgentCollection coll = new OracleQueueAgentCollection();
coll.Add(new OracleQueueAgent("Bob", "MESSAGE_QUEUE"));

// listening only for 60 seconds instead of blocking thread forever
OracleQueueAgent agent = oracleDequeueQueue.Listen(coll, 60);
            
Console.WriteLine("The following consumer received a message: {0}", agent.Name);
oracleDequeueQueue.QueueName = agent.Address;
oracleDequeueQueue.DequeueOptions.ConsumerName = agent.Name;
Console.WriteLine("The message: {0}", oracleDequeueQueue.Dequeue().StringPayload);

oracleQueueAdmin.StopQueue();
oracleQueueAdmin.DropQueue();
oracleQueueTable.DropQueueTable();

oracleConnection.Close(); </code><code lang="vb">Dim oracleConnection As New OracleConnection("User Id=system;Password=manager;Server=ora11;")
oracleConnection.Open()

Dim oracleQueueTable As New OracleQueueTable("QUEUE_TABLE_MESSAGE", oracleConnection)

' Set the table to serve multiple consumers.
oracleQueueTable.Options.MultipleConsumers = True
oracleQueueTable.Options.PayloadTypeName = "RAW"
oracleQueueTable.CreateQueueTable()
Dim oracleQueueAdmin As New OracleQueueAdmin("MESSAGE_QUEUE", "QUEUE_TABLE_MESSAGE", oracleConnection)
oracleQueueAdmin.CreateQueue()
oracleQueueAdmin.StartQueue()

oracleQueueAdmin.AddSubscriber(New OracleQueueAgent("Bob"))

Dim oracleEnqueueQueue As New OracleQueue("MESSAGE_QUEUE", oracleConnection)

Dim message As New OracleQueueMessage()
message.StringPayload = "Message for Bob."
message.MessageProperties.RecipientList.Add(New OracleQueueAgent("Bob"))
oracleEnqueueQueue.Enqueue(message)

Dim oracleDequeueQueue As New OracleQueue()
oracleDequeueQueue.Connection = oracleConnection

Dim coll As New OracleQueueAgentCollection()
coll.Add(New OracleQueueAgent("Bob", "MESSAGE_QUEUE"))

' listening only for 60 seconds instead of blocking thread forever
Dim agent As OracleQueueAgent = oracleDequeueQueue.Listen(coll, 60)

Console.WriteLine("The following consumer received a message: {0}", agent.Name)
oracleDequeueQueue.QueueName = agent.Address
oracleDequeueQueue.DequeueOptions.ConsumerName = agent.Name
Console.WriteLine("The message: {0}", oracleDequeueQueue.Dequeue().StringPayload)

oracleQueueAdmin.StopQueue()
oracleQueueAdmin.DropQueue()
oracleQueueTable.DropQueueTable()

oracleConnection.Close() </code></example>
      <keywords>OracleQueue.Listen method </keywords>
      <param name="agents">List of agents to listen for. </param>
      <param name="waitTimeout">Time out for the listen call in seconds.
By default, the call will block forever. </param>
      <param name="connection">A <see cref="T:Devart.Data.Oracle.OracleConnection" /> that represents the connection to an instance of Oracle server. </param>
      <returns>Agent with a message available for consumption. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueue.Listen(Devart.Data.Oracle.OracleQueueAgentCollection,System.Int32,Devart.Data.Oracle.OracleQueueDeliveryMode,Devart.Data.Oracle.OracleQueueDeliveryMode@)">
      <summary>Listens on one or more queues on behalf of a list of agents. </summary>
      <example>The following example demonstrates the usage of <see cref="M:Devart.Data.Oracle.OracleQueue.Listen(Devart.Data.Oracle.OracleQueueAgentCollection,System.Int32,Devart.Data.Oracle.OracleQueueDeliveryMode,Devart.Data.Oracle.OracleQueueDeliveryMode@)" /> method. <code lang="csharp">OracleConnection oracleConnection = new OracleConnection(
	"User Id=system;Password=manager;Server=ora11;");
oracleConnection.Open();

OracleQueueTable oracleQueueTable = new OracleQueueTable(
	"QUEUE_TABLE_MESSAGE", oracleConnection);

// Set the table to serve multiple consumers.
oracleQueueTable.Options.MultipleConsumers = true;
oracleQueueTable.Options.PayloadTypeName = "RAW";
oracleQueueTable.CreateQueueTable();
OracleQueueAdmin oracleQueueAdmin = new OracleQueueAdmin(
	"MESSAGE_QUEUE", "QUEUE_TABLE_MESSAGE", oracleConnection);
oracleQueueAdmin.CreateQueue();
oracleQueueAdmin.StartQueue();

oracleQueueAdmin.AddSubscriber(new OracleQueueAgent("Bob"));

OracleQueue oracleEnqueueQueue = new OracleQueue("MESSAGE_QUEUE", oracleConnection);

OracleQueueMessage message = new OracleQueueMessage();
message.StringPayload = "Message for Bob.";
message.MessageProperties.RecipientList.Add(new OracleQueueAgent("Bob"));
oracleEnqueueQueue.Enqueue(message);

OracleQueue oracleDequeueQueue = new OracleQueue();
oracleDequeueQueue.Connection = oracleConnection;

OracleQueueAgentCollection coll = new OracleQueueAgentCollection();
coll.Add(new OracleQueueAgent("Bob", "MESSAGE_QUEUE"));

// listening only for 60 seconds instead of blocking thread forever
OracleQueueAgent agent = oracleDequeueQueue.Listen(coll, 60);
            
Console.WriteLine("The following consumer received a message: {0}", agent.Name);
oracleDequeueQueue.QueueName = agent.Address;
oracleDequeueQueue.DequeueOptions.ConsumerName = agent.Name;
Console.WriteLine("The message: {0}", oracleDequeueQueue.Dequeue().StringPayload);

oracleQueueAdmin.StopQueue();
oracleQueueAdmin.DropQueue();
oracleQueueTable.DropQueueTable();

oracleConnection.Close(); </code><code lang="vb">Dim oracleConnection As New OracleConnection("User Id=system;Password=manager;Server=ora11;")
oracleConnection.Open()

Dim oracleQueueTable As New OracleQueueTable("QUEUE_TABLE_MESSAGE", oracleConnection)

' Set the table to serve multiple consumers.
oracleQueueTable.Options.MultipleConsumers = True
oracleQueueTable.Options.PayloadTypeName = "RAW"
oracleQueueTable.CreateQueueTable()
Dim oracleQueueAdmin As New OracleQueueAdmin("MESSAGE_QUEUE", "QUEUE_TABLE_MESSAGE", oracleConnection)
oracleQueueAdmin.CreateQueue()
oracleQueueAdmin.StartQueue()

oracleQueueAdmin.AddSubscriber(New OracleQueueAgent("Bob"))

Dim oracleEnqueueQueue As New OracleQueue("MESSAGE_QUEUE", oracleConnection)

Dim message As New OracleQueueMessage()
message.StringPayload = "Message for Bob."
message.MessageProperties.RecipientList.Add(New OracleQueueAgent("Bob"))
oracleEnqueueQueue.Enqueue(message)

Dim oracleDequeueQueue As New OracleQueue()
oracleDequeueQueue.Connection = oracleConnection

Dim coll As New OracleQueueAgentCollection()
coll.Add(New OracleQueueAgent("Bob", "MESSAGE_QUEUE"))

' listening only for 60 seconds instead of blocking thread forever
Dim agent As OracleQueueAgent = oracleDequeueQueue.Listen(coll, 60)

Console.WriteLine("The following consumer received a message: {0}", agent.Name)
oracleDequeueQueue.QueueName = agent.Address
oracleDequeueQueue.DequeueOptions.ConsumerName = agent.Name
Console.WriteLine("The message: {0}", oracleDequeueQueue.Dequeue().StringPayload)

oracleQueueAdmin.StopQueue()
oracleQueueAdmin.DropQueue()
oracleQueueTable.DropQueueTable()

oracleConnection.Close() </code></example>
      <keywords>OracleQueue.Listen method </keywords>
      <param name="agents">List of agents to listen for. </param>
      <param name="waitTimeout">Time out for the listen call in seconds.
By default, the call will block forever. </param>
      <param name="listenDeliveryMode">The caller specifies whether it is interested in persistent, buffered messages or both types of messages, specifying a delivery mode. 
(Only for Oracle 10.2 and greater.) </param>
      <param name="messageDeliveryMode">Returns the message type along with the queue and consumer for which there is a message (only for Oracle 10.2 and greater). </param>
      <returns>Agent with a message available for consumption. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueue.Listen(Devart.Data.Oracle.OracleQueueAgentCollection,System.Int32,Devart.Data.Oracle.OracleQueueDeliveryMode,Devart.Data.Oracle.OracleQueueDeliveryMode@,Devart.Data.Oracle.OracleConnection)">
      <summary>Listens on one or more queues on behalf of a list of agents. </summary>
      <example>The following example demonstrates the usage of <see cref="M:Devart.Data.Oracle.OracleQueue.Listen(Devart.Data.Oracle.OracleQueueAgentCollection,System.Int32,Devart.Data.Oracle.OracleQueueDeliveryMode,Devart.Data.Oracle.OracleQueueDeliveryMode@,Devart.Data.Oracle.OracleConnection)" /> method. <code lang="csharp">OracleConnection oracleConnection = new OracleConnection(
	"User Id=system;Password=manager;Server=ora11;");
oracleConnection.Open();

OracleQueueTable oracleQueueTable = new OracleQueueTable(
	"QUEUE_TABLE_MESSAGE", oracleConnection);

// Set the table to serve multiple consumers.
oracleQueueTable.Options.MultipleConsumers = true;
oracleQueueTable.Options.PayloadTypeName = "RAW";
oracleQueueTable.CreateQueueTable();
OracleQueueAdmin oracleQueueAdmin = new OracleQueueAdmin(
	"MESSAGE_QUEUE", "QUEUE_TABLE_MESSAGE", oracleConnection);
oracleQueueAdmin.CreateQueue();
oracleQueueAdmin.StartQueue();

oracleQueueAdmin.AddSubscriber(new OracleQueueAgent("Bob"));

OracleQueue oracleEnqueueQueue = new OracleQueue("MESSAGE_QUEUE", oracleConnection);

OracleQueueMessage message = new OracleQueueMessage();
message.StringPayload = "Message for Bob.";
message.MessageProperties.RecipientList.Add(new OracleQueueAgent("Bob"));
oracleEnqueueQueue.Enqueue(message);

OracleQueue oracleDequeueQueue = new OracleQueue();
oracleDequeueQueue.Connection = oracleConnection;

OracleQueueAgentCollection coll = new OracleQueueAgentCollection();
coll.Add(new OracleQueueAgent("Bob", "MESSAGE_QUEUE"));

// listening only for 60 seconds instead of blocking thread forever
OracleQueueAgent agent = oracleDequeueQueue.Listen(coll, 60);
            
Console.WriteLine("The following consumer received a message: {0}", agent.Name);
oracleDequeueQueue.QueueName = agent.Address;
oracleDequeueQueue.DequeueOptions.ConsumerName = agent.Name;
Console.WriteLine("The message: {0}", oracleDequeueQueue.Dequeue().StringPayload);

oracleQueueAdmin.StopQueue();
oracleQueueAdmin.DropQueue();
oracleQueueTable.DropQueueTable();

oracleConnection.Close(); </code><code lang="vb">Dim oracleConnection As New OracleConnection("User Id=system;Password=manager;Server=ora11;")
oracleConnection.Open()

Dim oracleQueueTable As New OracleQueueTable("QUEUE_TABLE_MESSAGE", oracleConnection)

' Set the table to serve multiple consumers.
oracleQueueTable.Options.MultipleConsumers = True
oracleQueueTable.Options.PayloadTypeName = "RAW"
oracleQueueTable.CreateQueueTable()
Dim oracleQueueAdmin As New OracleQueueAdmin("MESSAGE_QUEUE", "QUEUE_TABLE_MESSAGE", oracleConnection)
oracleQueueAdmin.CreateQueue()
oracleQueueAdmin.StartQueue()

oracleQueueAdmin.AddSubscriber(New OracleQueueAgent("Bob"))

Dim oracleEnqueueQueue As New OracleQueue("MESSAGE_QUEUE", oracleConnection)

Dim message As New OracleQueueMessage()
message.StringPayload = "Message for Bob."
message.MessageProperties.RecipientList.Add(New OracleQueueAgent("Bob"))
oracleEnqueueQueue.Enqueue(message)

Dim oracleDequeueQueue As New OracleQueue()
oracleDequeueQueue.Connection = oracleConnection

Dim coll As New OracleQueueAgentCollection()
coll.Add(New OracleQueueAgent("Bob", "MESSAGE_QUEUE"))

' listening only for 60 seconds instead of blocking thread forever
Dim agent As OracleQueueAgent = oracleDequeueQueue.Listen(coll, 60)

Console.WriteLine("The following consumer received a message: {0}", agent.Name)
oracleDequeueQueue.QueueName = agent.Address
oracleDequeueQueue.DequeueOptions.ConsumerName = agent.Name
Console.WriteLine("The message: {0}", oracleDequeueQueue.Dequeue().StringPayload)

oracleQueueAdmin.StopQueue()
oracleQueueAdmin.DropQueue()
oracleQueueTable.DropQueueTable()

oracleConnection.Close() </code></example>
      <keywords>OracleQueue.Listen method </keywords>
      <param name="agents">List of agents to listen for. </param>
      <param name="waitTimeout">Time out for the listen call in seconds.
By default, the call will block forever. </param>
      <param name="listenDeliveryMode">The caller specifies whether it is interested in persistent, buffered messages or both types of messages, specifying a delivery mode. 
(Only for Oracle 10.2 and greater.) </param>
      <param name="messageDeliveryMode">Returns the message type along with the queue and consumer for which there is a message (only for Oracle 10.2 and greater). </param>
      <param name="connection">A <see cref="T:Devart.Data.Oracle.OracleConnection" /> that represents the connection to an instance of Oracle server. </param>
      <returns>Agent with a message available for consumption. </returns>
    </member>
    <member name="E:Devart.Data.Oracle.OracleQueue.OnMessage">
      <summary>Triggers when <see cref="P:Devart.Data.Oracle.OracleQueue.AsyncNotification" /> property is true and message notification arrives. </summary>
      <seealso cref="T:Devart.Data.Oracle.OracleQueueMessageEventHandler" />
      <keywords>OracleQueue.OnMessage event </keywords>
    </member>
    <member name="P:Devart.Data.Oracle.OracleQueue.PayloadArrayTypeName">
      <summary>Gets or sets array type name for object type queues. </summary>
      <remarks>It is to be set only if a queue has object type payloads and Oracle server version is greater than 10. </remarks>
      <keywords>OracleQueue.PayloadArrayTypeName property </keywords>
      <value>Array type name for object type queues. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleQueue.PayloadTypeName">
      <summary>Gets or sets the type of message payload. </summary>
      <keywords>OracleQueue.PayloadTypeName property </keywords>
      <value>Object type name or 'RAW'. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleQueue.QueueName">
      <summary>Gets or sets the name of the queue. </summary>
      <remarks>This field has to be set before calling any function. </remarks>
      <keywords>OracleQueue.QueueName property </keywords>
      <value>The name of the queue. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueue.ReadPayloadTypeName()">
      <summary>Sends an inquiry to a server and determines payload type, which depends on the queue type on which the operation is being performed. This can be object type or 'RAW'. </summary>
      <remarks>When determined, <see cref="P:Devart.Data.Oracle.OracleQueue.PayloadTypeName" /> property is set. </remarks>
      <keywords>OracleQueue.ReadPayloadTypeName method </keywords>
    </member>
    <member name="T:Devart.Data.Oracle.OracleQueueAdmin">
      <summary>Manages Oracle Streams Advanced Queuing (AQ) configuration and administration information. </summary>
      <remarks><para>This class provides an interface for configurating queues and managing their lifecycle. For using queues themselves (like adding and deleting messages), the <see cref="T:Devart.Data.Oracle.OracleQueue" /> component should be used. For managing the database tables where queues are stored, please use the <see cref="T:Devart.Data.Oracle.OracleQueueTable" /> class.</para>
<para>This class is available only in Professional and Developer Editions. It is not available in Standard and Mobile Editions.</para> </remarks>
      <example>The following example demonstrates usage of <see cref="T:Devart.Data.Oracle.OracleQueue" />, <see cref="T:Devart.Data.Oracle.OracleQueueAdmin" />, <see cref="T:Devart.Data.Oracle.OracleQueueTable" />, <see cref="T:Devart.Data.Oracle.OracleQueueTableOptions" />, and <see cref="T:Devart.Data.Oracle.OracleQueueMessage" /> classes. For detailed description of advanced queuing and more samples, refer to the  <a href="AQ.html">Advanced Queuing Technology</a> article. <code lang="csharp">static void Main(string[] args)
{
	using (OracleConnection oracleConnection = new OracleConnection(
			"User Id=system;Password=manager;Server=ora;Direct=False;")) {
		oracleConnection.Open();
		OracleCommand oracleCommand = new OracleCommand(
			"CREATE OR REPLACE TYPE message AS OBJECT (nickname VARCHAR2(15), " +
			"mestext VARCHAR2(80));", oracleConnection);
		oracleCommand.ExecuteNonQuery();
		OracleQueueTable oracleQueueTable = new OracleQueueTable("QUEUE_TABLE_MESSAGE", oracleConnection);
		oracleQueueTable.Options.PayloadTypeName = "message";
		oracleQueueTable.CreateQueueTable();
		OracleQueueAdmin oracleQueueAdmin = new OracleQueueAdmin("MESSAGE_QUEUE",
			"QUEUE_TABLE_MESSAGE", oracleConnection);
		oracleQueueAdmin.CreateQueue();
		oracleQueueAdmin.StartQueue();
		OracleQueue oracleEnqueueQueue = new OracleQueue("MESSAGE_QUEUE", oracleConnection);
		OracleObject mes = new OracleObject("message", oracleConnection);
		mes["nickname"] = oracleConnection.UserId;
		mes["mestext"] = "Hello, world!";
		oracleEnqueueQueue.Enqueue(mes);
		OracleQueue oracleDequeueQueue = new OracleQueue("MESSAGE_QUEUE", oracleConnection);
		OracleQueueMessage msg = oracleDequeueQueue.Dequeue();
		if (msg != null &amp;&amp; msg.ObjectPayload != null) {
		Console.WriteLine(msg.ObjectPayload["nickname"]);
		Console.WriteLine(msg.ObjectPayload["mestext"]);
	    }
	    oracleQueueAdmin.StopQueue();
	    oracleQueueAdmin.DropQueue();
	    oracleQueueTable.DropQueueTable();
	    oracleConnection.Close();
	}
} </code><code lang="vb">Sub Main()
	Using oracleConnection As New OracleConnection("User Id=system;Password=manager;Server=ora;Direct=False;")
		oracleConnection.Open()
		Dim oracleCommand As New OracleCommand("CREATE OR REPLACE TYPE message " &amp; _
			"AS OBJECT (nickname VARCHAR2(15), mestext VARCHAR2(80));", oracleConnection)
		OracleCommand.ExecuteNonQuery()
		Dim oracleQueueTable As New OracleQueueTable("QUEUE_TABLE_MESSAGE", oracleConnection)
		oracleQueueTable.Options.PayloadTypeName = "message"
		oracleQueueTable.CreateQueueTable()
		Dim oracleQueueAdmin As New OracleQueueAdmin("MESSAGE_QUEUE", _
			"QUEUE_TABLE_MESSAGE", oracleConnection)
		oracleQueueAdmin.CreateQueue()
		oracleQueueAdmin.StartQueue()
		Dim oracleEnqueueQueue As New OracleQueue("MESSAGE_QUEUE", oracleConnection)
		Dim mes As New OracleObject("message", oracleConnection)
		mes.Item("nickname") = oracleConnection.UserId
		mes.Item("mestext") = "Hello, world!"
		oracleEnqueueQueue.Enqueue(mes)
		Dim oracleDequeueQueue As New OracleQueue("MESSAGE_QUEUE", oracleConnection)
		Dim msg As OracleQueueMessage = oracleDequeueQueue.Dequeue()
		If ((Not msg Is Nothing) AndAlso (Not msg.ObjectPayload Is Nothing)) Then
			Console.WriteLine(msg.ObjectPayload.Item("nickname"))
			Console.WriteLine(msg.ObjectPayload.Item("mestext"))
		End If
		oracleQueueAdmin.StopQueue()
		oracleQueueAdmin.DropQueue()
		oracleQueueTable.DropQueueTable()
		oracleConnection.Close()
    End Using
End Sub </code></example>
      <seealso cref="T:Devart.Data.Oracle.OracleQueueTable" />
      <seealso cref="T:Devart.Data.Oracle.OracleQueue" />
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAdmin.#ctor()">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleQueueAdmin" /> class. </summary>
      <overloads>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleQueueAdmin" /> class. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAdmin.#ctor(System.String)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleQueueAdmin" /> class. </summary>
      <param name="queueName">The name of the queue. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAdmin.#ctor(System.String,Devart.Data.Oracle.OracleConnection)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleQueueAdmin" /> class. </summary>
      <param name="queueName">The name of the queue. </param>
      <param name="connection">A <see cref="T:Devart.Data.Oracle.OracleConnection" /> that represents the connection to an instance of Oracle server. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAdmin.#ctor(System.String,System.String)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleQueueAdmin" /> class. </summary>
      <param name="queueName">The name of the queue. </param>
      <param name="queueTableName">The name of queue table, to which the queue will belong. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAdmin.#ctor(System.String,System.String,Devart.Data.Oracle.OracleConnection)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleQueueAdmin" /> class. </summary>
      <param name="queueName">The name of the queue. </param>
      <param name="queueTableName">The name of queue table, to which the queue will belong. </param>
      <param name="connection">A <see cref="T:Devart.Data.Oracle.OracleConnection" /> that represents the connection to an instance of Oracle server. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAdmin.#ctor(System.String,System.String,Devart.Data.Oracle.OracleQueueOptions,Devart.Data.Oracle.OracleConnection)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleQueueAdmin" /> class. </summary>
      <param name="queueName">The name of the queue. </param>
      <param name="queueTableName">The name of queue table, to which the queue will belong. </param>
      <param name="options"><see cref="T:Devart.Data.Oracle.OracleQueueOptions" /> that are used upon creation. </param>
      <param name="connection">A <see cref="T:Devart.Data.Oracle.OracleConnection" /> that represents the connection to an instance of Oracle server. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAdmin.AddSubscriber(Devart.Data.Oracle.OracleQueueAgent)">
      <summary>Adds a subscriber to the queue. </summary>
      <keywords>OracleQueueAdmin.AddSubscriber method </keywords>
      <param name="subscriber">Agent on whose behalf the subscription is being defined. </param>
      <overloads>Adds a subscriber to the queue. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAdmin.AddSubscriber(Devart.Data.Oracle.OracleQueueAgent,System.String)">
      <summary>Adds a subscriber to the queue. </summary>
      <keywords>OracleQueueAdmin.AddSubscriber method </keywords>
      <param name="subscriber">Agent on whose behalf the subscription is being defined. </param>
      <param name="rule">A conditional expression based on the message properties, the message data properties and PL/SQL functions. A rule is specified as a Boolean expression using syntax similar to the WHERE clause of a SQL query. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAdmin.AddSubscriber(Devart.Data.Oracle.OracleQueueAgent,System.String,System.String)">
      <summary>Adds a subscriber to the queue. </summary>
      <keywords>OracleQueueAdmin.AddSubscriber method </keywords>
      <param name="subscriber">Agent on whose behalf the subscription is being defined. </param>
      <param name="rule">A conditional expression based on the message properties, the message data properties and PL/SQL functions. A rule is specified as a Boolean expression using syntax similar to the WHERE clause of a SQL query. </param>
      <param name="transformation">Specifies a transformation that will be applied when this subscriber dequeues the message. The source type of the transformation must match the type of the queue. If the subscriber is remote, the transformation is applied before propagation to the remote queue. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAdmin.AddSubscriber(Devart.Data.Oracle.OracleQueueAgent,System.String,System.String,System.Boolean)">
      <summary>Adds a subscriber to the queue. </summary>
      <keywords>OracleQueueAdmin.AddSubscriber method </keywords>
      <param name="subscriber">Agent on whose behalf the subscription is being defined. </param>
      <param name="rule">A conditional expression based on the message properties, the message data properties and PL/SQL functions. A rule is specified as a Boolean expression using syntax similar to the WHERE clause of a SQL query. </param>
      <param name="transformation">Specifies a transformation that will be applied when this subscriber dequeues the message. The source type of the transformation must match the type of the queue. If the subscriber is remote, the transformation is applied before propagation to the remote queue. </param>
      <param name="queueToQueue">If TRUE, propagation is from queue to queue. Supported only in Oracle 10.2 and greater. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAdmin.AddSubscriber(Devart.Data.Oracle.OracleQueueAgent,System.String,System.String,System.Boolean,Devart.Data.Oracle.OracleQueueDeliveryMode)">
      <summary>Adds a subscriber to the queue. </summary>
      <keywords>OracleQueueAdmin.AddSubscriber method </keywords>
      <param name="subscriber">Agent on whose behalf the subscription is being defined. </param>
      <param name="rule">A conditional expression based on the message properties, the message data properties and PL/SQL functions. A rule is specified as a Boolean expression using syntax similar to the WHERE clause of a SQL query. </param>
      <param name="transformation">Specifies a transformation that will be applied when this subscriber dequeues the message. The source type of the transformation must match the type of the queue. If the subscriber is remote, the transformation is applied before propagation to the remote queue. </param>
      <param name="queueToQueue">If TRUE, propagation is from queue to queue. Supported only in Oracle 10.2 and greater. </param>
      <param name="deliveryMode">Delivery mode of the messages the subscriber is interested in. Supported only in Oracle 10.2 and higher. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAdmin.AlterComment(System.String)">
      <summary>Changes the <see cref="P:Devart.Data.Oracle.OracleQueueOptions.Comment" /> property of the <see cref="P:Devart.Data.Oracle.OracleQueueAdmin.Options" /> object. </summary>
      <seealso cref="T:Devart.Data.Oracle.OracleQueueOptions" />
      <keywords>OracleQueueAdmin.AlterComment method </keywords>
      <param name="comment">A user-defined string comment. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAdmin.AlterMaxRetries(System.Int32)">
      <summary>Sets the <see cref="P:Devart.Data.Oracle.OracleQueueOptions.MaxRetries" /> property of <see cref="P:Devart.Data.Oracle.OracleQueueAdmin.Options" />. </summary>
      <keywords>OracleQueueAdmin.AlterMaxRetries method </keywords>
      <param name="maxRetries">The number of times a dequeue with the OracleQueueDequeueMode.Remove mode can be attempted on a message. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAdmin.AlterPropagationSchedule(System.String,System.Double,System.String,System.Double)">
      <summary>Alters parameters of the schedule by which messages are propagated. </summary>
      <keywords>OracleQueueAdmin.AlterPropagationSchedule method </keywords>
      <param name="destination">Destination database link. Messages in the source queue for recipients at this destination are propagated. If it is NULL, the destination is the local database and messages are propagated to other queues in the local database. The length of this field is currently limited to 128 bytes, and if the name is not fully qualified, then the default domain name is used. </param>
      <param name="duration">Duration of the propagation window in seconds. </param>
      <param name="nextTime">Date function to compute the start of the next propagation window from the end of the current window. If this value is NULL, propagation is stopped at the end of the current window. </param>
      <param name="latency">Maximum wait, in seconds, in the propagation window for a message to be propagated after it is enqueued. </param>
      <overloads>Alters parameters of the schedule by which messages are propagated. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAdmin.AlterPropagationSchedule(System.String,System.Double,System.String,System.Double,System.String)">
      <summary>Alters parameters of the schedule by which messages are propagated. </summary>
      <keywords>OracleQueueAdmin.AlterPropagationSchedule method </keywords>
      <param name="destination">Destination database link. Messages in the source queue for recipients at this destination are propagated. If it is NULL, the destination is the local database and messages are propagated to other queues in the local database. The length of this field is currently limited to 128 bytes, and if the name is not fully qualified, the default domain name is used. </param>
      <param name="duration">Duration of the propagation window in seconds. </param>
      <param name="nextTime">Date function to compute the start of the next propagation window from the end of the current window. If this value is NULL, propagation is stopped at the end of the current window. </param>
      <param name="latency">Maximum wait, in seconds, in the propagation window for a message to be propagated after it is enqueued. </param>
      <param name="destinationQueue">Name of the target queue to which messages are to be propagated in the form of a dblink. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAdmin.AlterQueue(System.Int32,System.Double,System.Double,System.String)">
      <summary>Alters existing properties of a queue. </summary>
      <remarks>The parameters OracleQueueOptions.MaxRetries, OracleQueueOptions.RetentionTime, and OracleQueueOptions.RetryDelay are not supported for nonpersistent queues.
Note that maxRetries and retryDelay are supported for all single consumer queues and 8.1-compatible or higher multiconsumer queues but not for 8.0-compatible multiconsumer queues. </remarks>
      <seealso cref="M:Devart.Data.Oracle.OracleQueueAdmin.AlterMaxRetries(System.Int32)" />
      <keywords>OracleQueueAdmin.AlterQueue method </keywords>
      <param name="maxRetries">Limits the number of times a dequeue with OracleQueueDequeueMode.Remove mode can be attempted on a message. 
The maximum value of maxRetries is 2^31 -1. 
If this parameter less than zero, it is ignored. </param>
      <param name="retryDelay">Delay time in seconds before this message is scheduled for processing again after an application rollback. 
If this parameter less than zero, it is ignored. </param>
      <param name="retentionTime">Retention time in seconds for which a message is retained in the queue table after being dequeued. If this parameter less than zero, it is ignored. </param>
      <param name="comment">User-specified description of the queue.
If this parameter is null or is string.Empty, it is ignored. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAdmin.AlterRetentionTime(System.Double)">
      <summary>Sets the <see cref="P:Devart.Data.Oracle.OracleQueueOptions.RetentionTime" /> property of <see cref="T:Devart.Data.Oracle.OracleQueueAdmin" />.<see cref="P:Devart.Data.Oracle.OracleQueueAdmin.Options" />. </summary>
      <keywords>OracleQueueAdmin.AlterRetentionTime method </keywords>
      <param name="retentionTime">Number of seconds for which a message is retained in the queue table after being dequeued from the queue. 0 for no retention. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAdmin.AlterRetryDelay(System.Double)">
      <summary>Sets the <see cref="P:Devart.Data.Oracle.OracleQueueOptions.RetryDelay" /> property of <see cref="T:Devart.Data.Oracle.OracleQueueAdmin" />.<see cref="P:Devart.Data.Oracle.OracleQueueAdmin.Options" />. </summary>
      <keywords>OracleQueueAdmin.AlterRetryDelay method </keywords>
      <param name="retryDelay">Delay time, in seconds, before this message is scheduled for processing again after an application rollback. If 0, the message will be scheduled as soon as possible. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAdmin.AlterSubscriber(Devart.Data.Oracle.OracleQueueAgent,System.String,System.String)">
      <summary>Alters existing properties of a subscriber to the specified queue. </summary>
      <keywords>OracleQueueAdmin.AlterSubscriber method </keywords>
      <param name="subscriber">Agent on whose behalf the subscription is being altered. </param>
      <param name="rule">A conditional expression based on the message properties, the message data properties and PL/SQL functions. The rule parameter cannot exceed 4000 characters. To eliminate the rule, set the rule parameter to NULL. </param>
      <param name="transformation">Specifies a transformation that will be applied when this subscriber dequeues the message. </param>
      <overloads>Alters existing properties of a subscriber to a specified queue. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAdmin.AlterSubscriber(System.String,System.String,System.String,System.String)">
      <summary>Alters existing properties of a subscriber to the specified queue. </summary>
      <keywords>OracleQueueAdmin.AlterSubscriber method </keywords>
      <param name="name">Subscriber's name. </param>
      <param name="address">Protocol-specific address of the subscriber. If the protocol is zero, the address is of the form [schema.]queue[@dblink]. </param>
      <param name="rule">A conditional expression based on the message properties, the message data properties and PL/SQL functions. The rule parameter cannot exceed 4000 characters. To eliminate the rule, set the rule parameter to NULL. </param>
      <param name="transformation">Specifies a transformation that will be applied when this subscriber dequeues the message. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAdmin.BeginInit()">
      <summary>Begins the initialization of an <see cref="T:Devart.Data.Oracle.OracleQueueAdmin" />. The initialization occurs at run time. </summary>
      <keywords>OracleQueueAdmin.BeginInit method </keywords>
    </member>
    <member name="P:Devart.Data.Oracle.OracleQueueAdmin.Connection">
      <summary>Gets or sets the <see cref="T:Devart.Data.Oracle.OracleConnection" /> to the Oracle server which provides AQ functionality. </summary>
      <remarks>It has to be set and opened before calling any function. </remarks>
      <keywords>OracleQueueAdmin.Connection property </keywords>
      <value>The <see cref="T:Devart.Data.Oracle.OracleConnection" /> to the Oracle server which provides AQ functionality. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAdmin.CreateQueue()">
      <summary>Creates a queue according to the current OracleQueueAdmin properties. </summary>
      <keywords>OracleQueueAdmin.CreateQueue method </keywords>
      <returns><see cref="T:Devart.Data.Oracle.OracleQueue" /> instance, which corresponds to the queue created on a server. </returns>
      <overloads>This function creates a nonpersistent RAW queue. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAdmin.CreateQueue(System.String,System.Boolean,System.String,Devart.Data.Oracle.OracleConnection)">
      <summary>This function creates a nonpersistent RAW queue. </summary>
      <remarks>The queue may be either single-consumer or multiconsumer queue. All queue names must be unique within a schema. The queues are created in a 8.1-compatible or higher system-created queue table (AQ$_MEM_SC or AQ$_MEM_MC) in the same schema as that specified by the queue name.
After a queue is created, it can be enabled by calling <see cref="M:Devart.Data.Oracle.OracleQueueAdmin.StartQueue" /> method. By default, the queue is created with both enqueue and dequeue disabled.
You cannot dequeue from a nonpersistent queue. The only way to retrieve a message from a nonpersistent queue is by using the asynchrone notification mechanism. You cannot invoke the Listen call on a nonpersistent queue. </remarks>
      <seealso cref="M:Devart.Data.Oracle.OracleQueueAdmin.DropQueue" />
      <keywords>OracleQueueAdmin.CreateQueue method </keywords>
      <param name="name">Unique name of the queue to be created. </param>
      <param name="multipleConsumers">FALSE means queues created in the table can only have one consumer for each message.
TRUE means queues created in the table can have multiple consumers for each message. </param>
      <param name="comment">User-specified description of the queue. </param>
      <param name="connection">An <see cref="T:Devart.Data.Oracle.OracleConnection" /> to the Oracle server, which provides the AQ functionality. </param>
      <returns>Returns <see cref="T:Devart.Data.Oracle.OracleQueue" /> instance, which corresponds to the queue created on a server. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAdmin.CreateQueue(System.String,System.String,Devart.Data.Oracle.OracleConnection)">
      <summary>Creates a database-stored queue with default options. </summary>
      <keywords>OracleQueueAdmin.CreateQueue method </keywords>
      <param name="name">Unique name for the queue to be created. </param>
      <param name="queueTable">The name of queue table (existent on a server), which the queue will belong to. </param>
      <param name="connection">An <see cref="T:Devart.Data.Oracle.OracleConnection" /> to the Oracle server, which provides the AQ functionality. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAdmin.CreateQueue(System.String,System.String,Devart.Data.Oracle.OracleQueueOptions,Devart.Data.Oracle.OracleConnection)">
      <summary>Creates a database-stored queue with corresponding options. </summary>
      <remarks>All queue names must be unique within a schema. After a queue is created with CreateQueue, it can be enabled by calling <see cref="M:Devart.Data.Oracle.OracleQueueAdmin.StartQueue" /> method. By default, the queue is created with both enqueue and dequeue disabled. </remarks>
      <seealso cref="T:Devart.Data.Oracle.OracleQueueOptions" />
      <keywords>OracleQueueAdmin.CreateQueue method </keywords>
      <param name="name">Unique name for the queue to be created. </param>
      <param name="queueTable">The name of queue table (existent on a server), which the queue will belong to. </param>
      <param name="queueOptions">Options for creating a queue. </param>
      <param name="connection">An <see cref="T:Devart.Data.Oracle.OracleConnection" /> to the Oracle server, which provides the AQ functionality. </param>
      <returns>OracleQueue instance, which corresponds to the queue created on a server. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAdmin.DisablePropagationSchedule()">
      <summary>Disables the propagation schedule. </summary>
      <keywords>OracleQueueAdmin.DisablePropagationSchedule method </keywords>
      <overloads>Disables a propagation schedule. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAdmin.DisablePropagationSchedule(System.String)">
      <summary>Disables the propagation schedule. </summary>
      <keywords>OracleQueueAdmin.DisablePropagationSchedule method </keywords>
      <param name="destination">Destination database link. Messages in the source queue for recipients at this destination are propagated. If it is NULL, the destination is the local database and messages are propagated to other queues in the local database. The length of this field is currently limited to 128 bytes, and if the name is not fully qualified, the default domain name is used. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAdmin.DisablePropagationSchedule(System.String,System.String)">
      <summary>Disables the propagation schedule. </summary>
      <keywords>OracleQueueAdmin.DisablePropagationSchedule method </keywords>
      <param name="destination">Destination database link. Messages in the source queue for recipients at this destination are propagated. If it is NULL, the destination is the local database and messages are propagated to other queues in the local database. The length of this field is currently limited to 128 bytes, and if the name is not fully qualified, the default domain name is used. </param>
      <param name="destinationQueue">Name of the target queue to which messages are to be propagated in the form of a dblink. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAdmin.DropQueue()">
      <summary>Drops the default queue. </summary>
      <keywords>OracleQueueAdmin.DropQueue method </keywords>
      <overloads>Drops an existing queue. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAdmin.DropQueue(System.String,Devart.Data.Oracle.OracleConnection)">
      <summary>Drops an existing queue. </summary>
      <remarks>DropQueue is not allowed unless <see cref="M:Devart.Data.Oracle.OracleQueueAdmin.StopQueue" /> has been called to disable the queue for both enqueuing and dequeuing. All the queue data is deleted as part of the drop operation. </remarks>
      <seealso cref="M:Devart.Data.Oracle.OracleQueueAdmin.StopQueue" />
      <keywords>OracleQueueAdmin.DropQueue method </keywords>
      <param name="name">Name of the queue that is to be dropped. </param>
      <param name="connection">An <see cref="T:Devart.Data.Oracle.OracleConnection" /> to the Oracle server, which provides the AQ functionality. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAdmin.EnablePropagationSchedule()">
      <summary>Enables a previously disabled propagation schedule. </summary>
      <keywords>OracleQueueAdmin.EnablePropagationSchedule method </keywords>
      <overloads>Enables a previously disabled propagation schedule. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAdmin.EnablePropagationSchedule(System.String)">
      <summary>Enables a previously disabled propagation schedule. </summary>
      <keywords>OracleQueueAdmin.EnablePropagationSchedule method </keywords>
      <param name="destination">Destination database link. Messages in the source queue for recipients at this destination are propagated. If it is NULL, the destination is the local database and messages are propagated to other queues in the local database. The length of this field is currently limited to 128 bytes, and if the name is not fully qualified, the default domain name is used. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAdmin.EnablePropagationSchedule(System.String,System.String)">
      <summary>Enables a previously disabled propagation schedule. </summary>
      <keywords>OracleQueueAdmin.EnablePropagationSchedule method </keywords>
      <param name="destination">Destination database link. Messages in the source queue for recipients at this destination are propagated. If it is NULL, the destination is the local database and messages are propagated to other queues in the local database. The length of this field is currently limited to 128 bytes, and if the name is not fully qualified, the default domain name is used. </param>
      <param name="destinationQueue">Name of the target queue to which messages are to be propagated in the form of a dblink. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAdmin.EndInit()">
      <summary>Ends the initialization of an <see cref="T:Devart.Data.Oracle.OracleQueueAdmin" />. The initialization occurs at run time. </summary>
      <keywords>OracleQueueAdmin.EndInit method </keywords>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAdmin.GetSubscribers()">
      <summary>Gets the subscribers of multiconsumer queue. </summary>
      <remarks>This function returns the subscribers to an 8.0-compatible multiconsumer queue in the <see cref="T:Devart.Data.Oracle.OracleQueueAgentCollection" />. Each element of the collection is of type <see cref="T:Devart.Data.Oracle.OracleQueueAgent" />. This functionality is provided for 8.1-compatible queues. </remarks>
      <seealso cref="T:Devart.Data.Oracle.OracleQueueAgent" />
      <seealso cref="M:Devart.Data.Oracle.OracleQueueAdmin.AddSubscriber" />
      <keywords>OracleQueueAdmin.GetSubscribers method </keywords>
      <returns>Collection of subscribers. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAdmin.GrantQueuePrivilege(Devart.Data.Oracle.OracleQueuePrivilege,System.String)">
      <summary>Grants privileges on a queue to users and roles. </summary>
      <keywords>OracleQueueAdmin.GrantQueuePrivilege method </keywords>
      <param name="privilege">Queue privilege to grant. </param>
      <param name="grantee">Grantee(s). The grantee(s) can be a user, a role, or the PUBLIC role. </param>
      <overloads>Grants privileges on a queue to users and roles. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAdmin.GrantQueuePrivilege(Devart.Data.Oracle.OracleQueuePrivilege,System.String,System.Boolean)">
      <summary>Grants privileges on a queue to users and roles. </summary>
      <keywords>OracleQueueAdmin.GrantQueuePrivilege method </keywords>
      <param name="privilege">Queue privilege to grant. </param>
      <param name="grantee">Grantee(s). The grantee(s) can be a user, a role, or the PUBLIC role. </param>
      <param name="grantOption">Specifies if the access privilege is granted with the GRANT option or not. If the privilege is granted with the GRANT option, the grantee is allowed to use this procedure to grant the access privilege to other users or roles, regardless of the ownership of the queue table. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAdmin.GrantSystemPrivilege(Devart.Data.Oracle.OracleQueueSystemPrivilege,System.String)">
      <summary>Grants Oracle Streams AQ system privileges to users and roles. </summary>
      <keywords>OracleQueueAdmin.GrantSystemPrivilege method </keywords>
      <param name="privilege">The Oracle Streams AQ system privilege to grant. </param>
      <param name="grantee">Grantee(s). The grantee(s) can be a user, a role, or the PUBLIC role. </param>
      <overloads>Grants Oracle Streams AQ system privileges to users and roles. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAdmin.GrantSystemPrivilege(Devart.Data.Oracle.OracleQueueSystemPrivilege,System.String,Devart.Data.Oracle.OracleConnection)">
      <summary>Grants Oracle Streams AQ system privileges to users and roles. </summary>
      <keywords>OracleQueueAdmin.GrantSystemPrivilege method </keywords>
      <param name="privilege">The Oracle Streams AQ system privilege to grant. </param>
      <param name="grantee">Grantee(s). The grantee(s) can be a user, a role, or the PUBLIC role. </param>
      <param name="connection">A <see cref="T:Devart.Data.Oracle.OracleConnection" /> that represents the connection to an instance of Oracle server. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAdmin.GrantSystemPrivilege(Devart.Data.Oracle.OracleQueueSystemPrivilege,System.String,System.Boolean)">
      <summary>Grants Oracle Streams AQ system privileges to users and roles. </summary>
      <keywords>OracleQueueAdmin.GrantSystemPrivilege method </keywords>
      <param name="privilege">The Oracle Streams AQ system privilege to grant. </param>
      <param name="grantee">Grantee(s). The grantee(s) can be a user, a role, or the PUBLIC role. </param>
      <param name="adminOption">Specifies if the system privilege is granted with the ADMIN option or not. If the privilege is granted with the ADMIN option, the grantee is allowed to use this procedure to grant the system privilege to other users or roles. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAdmin.GrantSystemPrivilege(Devart.Data.Oracle.OracleQueueSystemPrivilege,System.String,System.Boolean,Devart.Data.Oracle.OracleConnection)">
      <summary>Grants Oracle Streams AQ system privileges to users and roles. </summary>
      <keywords>OracleQueueAdmin.GrantSystemPrivilege method </keywords>
      <param name="privilege">The Oracle Streams AQ system privilege to grant. </param>
      <param name="grantee">Grantee(s). The grantee(s) can be a user, a role, or the PUBLIC role. </param>
      <param name="adminOption">Specifies if the system privilege is granted with the ADMIN option or not. If the privilege is granted with the ADMIN option, the grantee is allowed to use this procedure to grant the system privilege to other users or roles. </param>
      <param name="connection">A <see cref="T:Devart.Data.Oracle.OracleConnection" /> that represents the connection to an instance of Oracle server. </param>
    </member>
    <member name="P:Devart.Data.Oracle.OracleQueueAdmin.Options">
      <summary>Gets or sets queue options used for its creation. </summary>
      <remarks>For existing queue this property is set implicitly when calling <see cref="M:Devart.Data.Oracle.OracleQueueAdmin.ReadQueueProperties()" /> method. </remarks>
      <seealso cref="M:Devart.Data.Oracle.OracleQueueAdmin.ReadQueueProperties()" />
      <keywords>OracleQueueAdmin.Options property </keywords>
      <value>Queue options used for its creation. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleQueueAdmin.QueueName">
      <summary>The name of the source queue. </summary>
      <remarks>Has to be set before calling any method. </remarks>
      <keywords>OracleQueueAdmin.QueueName property </keywords>
      <value>The name of the source queue. The default value is String.Empty. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleQueueAdmin.QueueTableName">
      <summary>Gets or sets the name of the queue table, to which the queue belongs. </summary>
      <remarks>The default value is String.Empty. For existing queue this property is set implicitly when calling <see cref="M:Devart.Data.Oracle.OracleQueueAdmin.ReadQueueProperties()" /> method. </remarks>
      <seealso cref="M:Devart.Data.Oracle.OracleQueueAdmin.ReadQueueProperties()" />
      <keywords>OracleQueueAdmin.QueueTableName property </keywords>
      <value>The name of the queue table, to which the queue belongs. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAdmin.ReadQueueProperties()">
      <summary>Reads options for a queue specified in the <see cref="P:Devart.Data.Oracle.OracleQueueAdmin.QueueName" /> property from a server. The queue has to be already created. </summary>
      <remarks>Sets <see cref="P:Devart.Data.Oracle.OracleQueueAdmin.Options" /> and <see cref="P:Devart.Data.Oracle.OracleQueueAdmin.QueueTableName" /> properties up. </remarks>
      <keywords>OracleQueueAdmin.ReadQueueProperties method </keywords>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAdmin.RemoveSubscriber(Devart.Data.Oracle.OracleQueueAgent)">
      <summary>Removes a subscriber from the queue. </summary>
      <keywords>OracleQueueAdmin.RemoveSubscriber method </keywords>
      <param name="subscriber">Agent who is being removed. </param>
      <overloads>Removes a subscriber from the queue. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAdmin.RemoveSubscriber(System.String,System.String)">
      <summary>Removes a subscriber from the queue. </summary>
      <keywords>OracleQueueAdmin.RemoveSubscriber method </keywords>
      <param name="name">The name of the subscriber. </param>
      <param name="address">Protocol-specific address of the subscriber. If the protocol is zero, the address is of the form [schema.]queue[@dblink]. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAdmin.RevokeQueuePrivilege(Devart.Data.Oracle.OracleQueuePrivilege,System.String)">
      <summary>Revokes privileges on a queue from users and roles. The privileges are Enqueue or Dequeue. </summary>
      <remarks>To revoke a privilege, the revoker must be the original grantor of the privilege. The privileges propagated through the GRANT option are revoked if the grantor's privileges are revoked. </remarks>
      <seealso cref="M:Devart.Data.Oracle.OracleQueueAdmin.GrantQueuePrivilege" />
      <seealso cref="M:Devart.Data.Oracle.OracleQueueAdmin.GrantSystemPrivilege" />
      <seealso cref="M:Devart.Data.Oracle.OracleQueueAdmin.RevokeSystemPrivilege" />
      <keywords>OracleQueueAdmin.RevokeQueuePrivilege method </keywords>
      <param name="privilege">Queue privilege to revoke. </param>
      <param name="grantee">Grantee(s). The grantee(s) can be a user, a role, or the PUBLIC role. If the privilege has been propagated by the grantee through the GRANT option, the propagated privilege is also revoked. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAdmin.RevokeSystemPrivilege(Devart.Data.Oracle.OracleQueueSystemPrivilege,System.String)">
      <summary>Revokes Oracle Streams AQ system privileges from users and roles. </summary>
      <keywords>OracleQueueAdmin.RevokeSystemPrivilege method </keywords>
      <param name="privilege">The Oracle Streams AQ system privilege to revoke. </param>
      <param name="grantee">Grantee(s). The grantee(s) can be a user, a role, or the PUBLIC role. </param>
      <overloads>Revokes Oracle Streams AQ system privileges from users and roles. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAdmin.RevokeSystemPrivilege(Devart.Data.Oracle.OracleQueueSystemPrivilege,System.String,Devart.Data.Oracle.OracleConnection)">
      <summary>Revokes Oracle Streams AQ system privileges from users and roles. </summary>
      <keywords>OracleQueueAdmin.RevokeSystemPrivilege method </keywords>
      <param name="privilege">The Oracle Streams AQ system privilege to revoke. </param>
      <param name="grantee">Grantee(s). The grantee(s) can be a user, a role, or the PUBLIC role. </param>
      <param name="connection">A <see cref="T:Devart.Data.Oracle.OracleConnection" /> that represents the connection to an instance of Oracle server. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAdmin.SchedulePropagation()">
      <summary>Enables propagation schedule with default parameters. </summary>
      <keywords>OracleQueueAdmin.SchedulePropagation method </keywords>
      <overloads>Schedules propagation of messages from a queue to a destination identified by a specific database link. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAdmin.SchedulePropagation(System.String)">
      <summary>Enables schedule for message propagation to the specified destination. </summary>
      <keywords>OracleQueueAdmin.SchedulePropagation method </keywords>
      <param name="destination">Destination database link. Messages in the source queue for recipients at this destination are propagated. If it is NULL, the destination is the local database and messages are propagated to other queues in the local database. The length of this field is currently limited to 128  bytes, and if the name is not fully qualified, the default domain name is used. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAdmin.SchedulePropagation(System.String,System.DateTime)">
      <summary>Enables schedule for message propagation messages to the specified destination starting at the specified time. </summary>
      <keywords>OracleQueueAdmin.SchedulePropagation method </keywords>
      <param name="destination">Destination database link. Messages in the source queue for recipients at this destination are propagated. If it is NULL, the destination is the local database and messages are propagated to other queues in the local database. The length of this field is currently limited to 128  bytes, and if the name is not fully qualified, the default domain name is used. </param>
      <param name="startTime">Initial start time for the propagation window for messages from the source queue to the destination. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAdmin.SchedulePropagation(System.String,System.DateTime,System.Double)">
      <summary>Enables schedule for message propagation to the specified destination within the specified period. </summary>
      <keywords>OracleQueueAdmin.SchedulePropagation method </keywords>
      <param name="destination">Destination database link. Messages in the source queue for recipients at this destination are propagated. If it is NULL, the destination is the local database and messages are propagated to other queues in the local database. The length of this field is currently limited to 128  bytes, and if the name is not fully qualified, the default domain name is used. </param>
      <param name="startTime">Initial start time for the propagation window for messages from the source queue to the destination. </param>
      <param name="duration">Duration of the propagation window in seconds. A negative value means the propagation window is forever or until the propagation is unscheduled. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAdmin.SchedulePropagation(System.String,System.DateTime,System.Double,System.String)">
      <summary>Enables schedule for message propagation with the specified options. </summary>
      <keywords>OracleQueueAdmin.SchedulePropagation method </keywords>
      <param name="destination">Destination database link. Messages in the source queue for recipients at this destination are propagated. If it is NULL, the destination is the local database and messages are propagated to other queues in the local database. The length of this field is currently limited to 128  bytes, and if the name is not fully qualified, the default domain name is used. </param>
      <param name="startTime">Initial start time for the propagation window for messages from the source queue to the destination. </param>
      <param name="duration">Duration of the propagation window in seconds. A negative value means the propagation window is forever or until the propagation is unscheduled. </param>
      <param name="nextTime">Date function to compute the start of the next propagation window from the end of the current window. If this value is null, propagation is stopped at the end of the current window. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAdmin.SchedulePropagation(System.String,System.DateTime,System.Double,System.String,System.Double)">
      <summary>Enables schedule for message propagation with the specified options. </summary>
      <keywords>OracleQueueAdmin.SchedulePropagation method </keywords>
      <param name="destination">Destination database link. Messages in the source queue for recipients at this destination are propagated. If it is NULL, the destination is the local database and messages are propagated to other queues in the local database. The length of this field is currently limited to 128  bytes, and if the name is not fully qualified, the default domain name is used. </param>
      <param name="startTime">Initial start time for the propagation window for messages from the source queue to the destination. </param>
      <param name="duration">Duration of the propagation window in seconds. A negative value means the propagation window is forever or until the propagation is unscheduled. </param>
      <param name="nextTime">Date function to compute the start of the next propagation window from the end of the current window. If this value is null, propagation is stopped at the end of the current window. </param>
      <param name="latency">Maximum wait, in seconds, in the propagation window for a message to be propagated after it is enqueued. If this value is negative or not set, the default value is 60. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAdmin.SchedulePropagation(System.String,System.DateTime,System.Double,System.String,System.Double,System.String)">
      <summary>Enables schedule for message propagation with the specified options. </summary>
      <keywords>OracleQueueAdmin.SchedulePropagation method </keywords>
      <param name="destination">Destination database link. Messages in the source queue for recipients at this destination are propagated. If it is NULL, the destination is the local database and messages are propagated to other queues in the local database. The length of this field is currently limited to 128  bytes, and if the name is not fully qualified, the default domain name is used. </param>
      <param name="startTime">Initial start time for the propagation window for messages from the source queue to the destination. </param>
      <param name="duration">Duration of the propagation window in seconds. A negative value means the propagation window is forever or until the propagation is unscheduled. </param>
      <param name="nextTime">Date function to compute the start of the next propagation window from the end of the current window. If this value is null, propagation is stopped at the end of the current window. </param>
      <param name="latency">Maximum wait, in seconds, in the propagation window for a message to be propagated after it is enqueued. If this value is negative or not set, the default value is 60. </param>
      <param name="destinationQueue">The name of the target queue to which messages are to be propagated in the form of a dblink. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAdmin.StartDequeue()">
      <summary>Enables the specified queue for dequeuing. </summary>
      <keywords>OracleQueueAdmin.StartDequeue method </keywords>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAdmin.StartEnqueue()">
      <summary>Enables the specified queue for enqueuing. </summary>
      <seealso cref="M:Devart.Data.Oracle.OracleQueueAdmin.StartDequeue" />
      <keywords>OracleQueueAdmin.StartEnqueue method </keywords>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAdmin.StartQueue()">
      <summary>Enables the specified queue for both enqueuing and dequeuing. </summary>
      <keywords>OracleQueueAdmin.StartQueue method </keywords>
      <overloads>Enables the specified queue for enqueuing or dequeuing. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAdmin.StartQueue(System.Boolean,System.Boolean)">
      <summary>Enables enqueuing, dequeuing or both for the current queue. </summary>
      <keywords>OracleQueueAdmin.StartQueue method </keywords>
      <param name="enqueue">Specifies whether Enqueue should be enabled on this queue. <see langword="true" /> means enable Enqueue. <see langword="false" /> means do not alter the current setting. </param>
      <param name="dequeue">Specifies whether Dequeue should be enabled on this queue. <see langword="true" /> means enable Dequeue. <see langword="false" /> means do not alter the current setting. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAdmin.StopDequeue()">
      <summary>Disables dequeuing for the specified queue. </summary>
      <keywords>OracleQueueAdmin.StopDequeue method </keywords>
      <overloads>Disables dequeuing for the specified queue. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAdmin.StopDequeue(System.Boolean)">
      <summary>Disables dequeuing for the specified queue, allowing to wait for the end of all outstanding transactions. </summary>
      <keywords>OracleQueueAdmin.StopDequeue method </keywords>
      <param name="wait">Specifies whether to wait for the completion of outstanding transactions. <see langword="true" /> means wait if there are any outstanding transactions. In this state no new transactions are allowed to enqueue to or dequeue from this queue. <see langword="false" /> means return immediately either with a success or an error. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAdmin.StopEnqueue()">
      <summary>Disables enqueuing for the specified queue. </summary>
      <keywords>OracleQueueAdmin.StopEnqueue method </keywords>
      <overloads>Disables enqueuing for the specified queue. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAdmin.StopEnqueue(System.Boolean)">
      <summary>Disables enqueuing for the specified queue, allowing to wait for the end of all outstanding transactions. </summary>
      <keywords>OracleQueueAdmin.StopEnqueue method </keywords>
      <param name="wait">Specifies whether to wait for the completion of outstanding transactions. <see langword="true" /> means wait if there are any outstanding transactions. In this state no new transactions are allowed to enqueue to or dequeue from this queue. <see langword="false" /> means return immediately either with a success or an error. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAdmin.StopQueue()">
      <summary>Disables enqueuing and dequeuing on the specified queue. </summary>
      <keywords>OracleQueueAdmin.StopQueue method </keywords>
      <overloads>Disables enqueuing or dequeuing on the specified queue. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAdmin.StopQueue(System.Boolean)">
      <summary>Disables enqueuing and dequeuing for the specified queue, allowing to wait for the end of all outstanding transactions. </summary>
      <keywords>OracleQueueAdmin.StopQueue method </keywords>
      <param name="wait">Specifies whether to wait for the completion of outstanding transactions. <see langword="true" /> means wait if there are any outstanding transactions. In this state no new transactions are allowed to enqueue to or dequeue from this queue. <see langword="false" /> means return immediately either with a success or an error. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAdmin.StopQueue(System.Boolean,System.Boolean,System.Boolean)">
      <summary>Disables  enqueuing, dequeuing, or both for the specified queue, allowing to wait for the end of all outstanding transactions. </summary>
      <keywords>OracleQueueAdmin.StopQueue method </keywords>
      <param name="enqueue">Specifies whether Enqueue should be disabled on this queue. <see langword="true" /> means disable Enqueue. <see langword="false" /> means do not alter the current setting. </param>
      <param name="dequeue">Specifies whether Dequeue should be disabled on this queue. <see langword="true" /> means disable Dequeue. <see langword="false" /> means do not alter the current setting. </param>
      <param name="wait">Specifies whether to wait for the completion of outstanding transactions. <see langword="true" /> means wait if there are any outstanding transactions. In this state no new transactions are allowed to enqueue to or dequeue from this queue. <see langword="false" /> means return immediately either with a success or an error. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAdmin.UnschedulePropagation()">
      <summary>Unschedules previously scheduled propagation of messages. </summary>
      <keywords>OracleQueueAdmin.UnschedulePropagation method </keywords>
      <overloads>Unschedules previously scheduled propagation of messages from a queue to a destination identified by a specific database link. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAdmin.UnschedulePropagation(System.String)">
      <summary>Unschedules previously scheduled propagation of messages from a queue to a destination identified by a specific database link. </summary>
      <keywords>OracleQueueAdmin.UnschedulePropagation method </keywords>
      <param name="destination">Destination database link. Messages in the source queue for recipients at this destination are propagated. If it is NULL, the destination is the local database and messages are propagated to other queues in the local database. The length of this field is currently limited to 128 bytes, and if the name is not fully qualified, the default domain name is used. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAdmin.UnschedulePropagation(System.String,System.String)">
      <summary>Unschedules previously scheduled propagation of messages from a queue to a destination identified by a specific database link. </summary>
      <keywords>OracleQueueAdmin.UnschedulePropagation method </keywords>
      <param name="destination">Destination database link. Messages in the source queue for recipients at this destination are propagated. If it is NULL, the destination is the local database and messages are propagated to other queues in the local database. The length of this field is currently limited to 128 bytes, and if the name is not fully qualified, the default domain name is used. </param>
      <param name="destinationQueue">Name of the target queue to which messages are to be propagated in the form of a dblink. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAdmin.VerifyQueueTypes(System.String)">
      <summary>Verifies that the source and destination queues have identical types. The source queue is the queue specified in <see cref="P:Devart.Data.Oracle.OracleQueueAdmin.QueueName" />. </summary>
      <keywords>OracleQueueAdmin.VerifyQueueTypes method </keywords>
      <param name="destQueueName">The name of the destination queue where messages are to be propagated, including the schema name. If the schema name is not specified, it defaults to the schema name of the user. </param>
      <returns><see langword="true" /> if the source and destination queues have identical types; otherwise, <see langword="false" />. </returns>
      <overloads>Verifies that the source and destination queues have identical types. The source queue is the queue specified in <see cref="P:Devart.Data.Oracle.OracleQueueAdmin.QueueName" />. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAdmin.VerifyQueueTypes(System.String,System.String)">
      <summary>Verifies that the source and destination queues have identical types. The source queue is the queue specified in <see cref="P:Devart.Data.Oracle.OracleQueueAdmin.QueueName" />. </summary>
      <keywords>OracleQueueAdmin.VerifyQueueTypes method </keywords>
      <param name="destQueueName">The name of the destination queue where messages are to be propagated, including the schema name. If the schema name is not specified, it defaults to the schema name of the user. </param>
      <param name="destination">Destination database link. Messages in the source queue for recipients at this destination are propagated. If it is NULL, the destination is the local database and messages are propagated to other queues in the local database. The length of this field is currently limited to 128 bytes, and if the name is not fully qualified, the default domain name is used. </param>
      <returns>If there is no error, and if the source and destination queue types match, the result is true. If they do not match, the result is false. </returns>
    </member>
    <member name="T:Devart.Data.Oracle.OracleQueueAgent">
      <summary>Identifies a producer or a consumer of a message. </summary>
      <remarks><para>An example of using this class is available in <a href="AQ.html#simpleptmp">Advanced Queuing Technology &gt; A Simple Example of Point-to-Multipoint Messaging</a> article.</para>
<para><para>This class is available only in Professional and Developer Editions. It is not available in Standard and Mobile Editions.</para></para> </remarks>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAgent.#ctor()">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleQueueAgent" /> class. </summary>
      <overloads>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleQueueAgent" /> class. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAgent.#ctor(System.String)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleQueueAgent" /> class. </summary>
      <param name="name">The name of a producer or consumer of a message. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAgent.#ctor(System.String,System.String)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleQueueAgent" /> class. </summary>
      <param name="name">The name of a producer or consumer of a message. </param>
      <param name="address">Protocol-specific address of the recipient. If the protocol is zero, the address is of the form [schema.]queue[@dblink]. </param>
    </member>
    <member name="P:Devart.Data.Oracle.OracleQueueAgent.Address">
      <summary>Gets or sets protocol-specific address of the recipient. If the protocol is zero, the address is of the form [schema.]queue[@dblink]. </summary>
      <keywords>OracleQueueAgent.Address property </keywords>
      <value>The address of the recipient. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAgent.Equals(System.Object)">
      <summary>Compares two <see cref="T:Devart.Data.Oracle.OracleQueueAgent" /> objects to determine if they are equal. </summary>
      <keywords>OracleQueueAgent.Equals method </keywords>
      <param name="obj">The object to be compared. </param>
      <returns><see langword="true" /> if the compared <see cref="T:Devart.Data.Oracle.OracleQueueAgent" /> objects are identical; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAgent.GetHashCode()">
      <summary>Returns hash code of the <see cref="T:Devart.Data.Oracle.OracleQueueAgent" /> instance. </summary>
      <keywords>OracleQueueAgent.GetHashCode method </keywords>
      <returns>The hash code of the <see cref="T:Devart.Data.Oracle.OracleQueueAgent" /> instance. </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleQueueAgent.Name">
      <summary>Gets or sets the name of a producer or consumer of a message. </summary>
      <keywords>OracleQueueAgent.Name property </keywords>
      <value>Agent name. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleQueueAgent.Protocol">
      <summary>Gets or sets the protocol to interpret the address and propagate the message. </summary>
      <remarks>This field is reserved for future usage and is always zero. </remarks>
      <keywords>OracleQueueAgent.Protocol property </keywords>
      <value>The protocol to interpret the address and propagate the message. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAgent.ToString()">
      <summary>Returns the name of the current OracleQueueAgent object. </summary>
      <keywords>OracleQueueAgent.ToString method </keywords>
      <returns><see cref="P:Devart.Data.Oracle.OracleQueueAgent.Name" /> of the current OracleQueueAgent object. </returns>
    </member>
    <member name="T:Devart.Data.Oracle.OracleQueueAgentCollection">
      <summary>Represents a collection of <see cref="T:Devart.Data.Oracle.OracleQueueAgent" /> objects. </summary>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAgentCollection.#ctor()">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleQueueAgentCollection" /> class. </summary>
      <overloads>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleQueueAgentCollection" /> class. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAgentCollection.#ctor(Devart.Data.Oracle.OracleQueueAgent[])">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleQueueAgentCollection" /> class with the specified array of <see cref="T:Devart.Data.Oracle.OracleQueueAgent" /> objects. </summary>
      <param name="agents">The array of <see cref="T:Devart.Data.Oracle.OracleQueueAgent" /> objects used to initialize collection. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAgentCollection.Add(Devart.Data.Oracle.OracleQueueAgent)">
      <summary>Adds the specified <see cref="T:Devart.Data.Oracle.OracleQueueAgent" /> to the <see cref="T:Devart.Data.Oracle.OracleQueueAgentCollection" />. </summary>
      <keywords>OracleQueueAgentCollection.Add method </keywords>
      <param name="agent">The <see cref="T:Devart.Data.Oracle.OracleQueueAgent" /> to add. </param>
      <overloads>Adds the specified <see cref="T:Devart.Data.Oracle.OracleQueueAgent" /> to the <see cref="T:Devart.Data.Oracle.OracleQueueAgentCollection" />. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAgentCollection.Add(System.String,System.String)">
      <summary>Adds the specified <see cref="T:Devart.Data.Oracle.OracleQueueAgent" /> to the <see cref="T:Devart.Data.Oracle.OracleQueueAgentCollection" />. </summary>
      <keywords>OracleQueueAgentCollection.Add method </keywords>
      <param name="name">The agent's name. </param>
      <param name="address">Protocol-specific address of the agent. If the protocol is zero, the address is of the form [schema.]queue[@dblink]. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAgentCollection.Contains(Devart.Data.Oracle.OracleQueueAgent)">
      <summary>Gets a value indicating whether an <see cref="T:Devart.Data.Oracle.OracleQueueAgent" /> object exists in the collection. </summary>
      <keywords>OracleQueueAgentCollection.Contains method </keywords>
      <param name="agent">The agent to find. </param>
      <returns><see langword="true" /> if the <see cref="T:Devart.Data.Oracle.OracleQueueAgent" /> is in the collection; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAgentCollection.CopyTo(Devart.Data.Oracle.OracleQueueAgent[],System.Int32)">
      <summary>Copies <see cref="T:Devart.Data.Oracle.OracleQueueAgent" /> objects from the <see cref="T:Devart.Data.Oracle.OracleQueueAgentCollection" /> to the specified array. </summary>
      <keywords>OracleQueueAgentCollection.CopyTo method </keywords>
      <param name="arr">The array into which to copy the <see cref="T:Devart.Data.Oracle.OracleQueueAgent" /> objects. </param>
      <param name="index">The zero-based index of the array. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAgentCollection.IndexOf(Devart.Data.Oracle.OracleQueueAgent)">
      <summary> Gets the index of the <see cref="T:Devart.Data.Oracle.OracleQueueAgent" /> object in the collection. </summary>
      <keywords>OracleQueueAgentCollection.IndexOf method </keywords>
      <param name="agent">The <see cref="T:Devart.Data.Oracle.OracleQueueAgent" /> object to find. </param>
      <returns>The index of the <see cref="T:Devart.Data.Oracle.OracleQueueAgent" /> object in the collection. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAgentCollection.Insert(System.Int32,Devart.Data.Oracle.OracleQueueAgent)">
      <summary>Inserts an <see cref="T:Devart.Data.Oracle.OracleQueueAgent" /> into the collection at the specified index. </summary>
      <keywords>OracleQueueAgentCollection.Insert method </keywords>
      <param name="index">The zero-based index where the agent is to be inserted within the collection. </param>
      <param name="agent">The <see cref="T:Devart.Data.Oracle.OracleQueueAgent" /> to add to the collection. </param>
    </member>
    <member name="P:Devart.Data.Oracle.OracleQueueAgentCollection.Item(System.Int32)">
      <summary>Gets the <see cref="T:Devart.Data.Oracle.OracleQueueAgent" /> at the specified index. </summary>
      <keywords>OracleQueueAgentCollection.Item property </keywords>
      <param name="index">The zero-based index of the agent. </param>
      <value>The <see cref="T:Devart.Data.Oracle.OracleQueueAgent" /> at the specified index in the collection. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueAgentCollection.Remove(Devart.Data.Oracle.OracleQueueAgent)">
      <summary>Removes the specified <see cref="T:Devart.Data.Oracle.OracleQueueAgent" /> object from the collection. </summary>
      <keywords>OracleQueueAgentCollection.Remove method </keywords>
      <param name="agent">The <see cref="T:Devart.Data.Oracle.OracleQueueAgent" /> object to remove from the collection. </param>
    </member>
    <member name="T:Devart.Data.Oracle.OracleQueueCompatible">
      <summary>Specifies the lowest database version with which the queue is compatible. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleQueueCompatible.Default">
      <summary>The queue compatibility is set according to the database compatibility settings. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleQueueCompatible.ver100">
      <summary>The queue is compatible with version 10.0 or higher. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleQueueCompatible.ver80">
      <summary>The queue is compatible with version 8.0 or higher. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleQueueCompatible.ver81">
      <summary>The queue is compatible with version 8.1 or higher. </summary>
    </member>
    <member name="T:Devart.Data.Oracle.OracleQueueDeliveryMode">
      <summary>Specifies whether the message is persistent or buffered. If buffered, it will be lost after the application's shutdown. Persistent messages are stored in the database table. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleQueueDeliveryMode.Buffered">
      <summary>Message is buffered. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleQueueDeliveryMode.Persistent">
      <summary>Message is persistent. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleQueueDeliveryMode.PersistentOrBuffered">
      <summary>Message is either persistent or buffered. </summary>
    </member>
    <member name="T:Devart.Data.Oracle.OracleQueueDequeueMode">
      <summary>Specifies how the messages will be dequeued. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleQueueDequeueMode.Browse">
      <summary>Read the message without acquiring any lock on the message. </summary>
      <remarks>This specification is equivalent to a select statement. </remarks>
    </member>
    <member name="F:Devart.Data.Oracle.OracleQueueDequeueMode.Locked">
      <summary>Read and obtain a write lock on the message. </summary>
      <remarks>The lock lasts for the duration of the transaction. This setting is equivalent to a select for update statement. </remarks>
    </member>
    <member name="F:Devart.Data.Oracle.OracleQueueDequeueMode.Remove">
      <summary>Read the message and delete it. </summary>
      <remarks>The message can be retained in the queue table based on the retention properties. </remarks>
    </member>
    <member name="F:Devart.Data.Oracle.OracleQueueDequeueMode.RemoveNoData">
      <summary>Mark the message as updated or deleted. </summary>
      <remarks>The message can be retained in the queue table based on the retention properties. </remarks>
    </member>
    <member name="F:Devart.Data.Oracle.OracleQueueDequeueMode.Unknown">
      <summary>The dequeuing behaviour is not set. </summary>
    </member>
    <member name="T:Devart.Data.Oracle.OracleQueueDequeueOptions">
      <summary>Represents the options available for the dequeue operation. </summary>
      <remarks>Specify these options via <see cref="P:Devart.Data.Oracle.OracleQueue.DequeueOptions" /> property for <see cref="T:Devart.Data.Oracle.OracleQueue" /> object that is used for dequeuing. For more information about advanced queuing technology and samples, refer to <a href="AQ.html">Advanced Queuing Technology</a> article. </remarks>
      <seealso cref="T:Devart.Data.Oracle.OracleQueueEnqueueOptions" />
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueDequeueOptions.#ctor()">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleQueueDequeueOptions" /> class with default settings. </summary>
      <overloads>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleQueueDequeueOptions" /> class. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueDequeueOptions.#ctor(System.String,Devart.Data.Oracle.OracleQueueDequeueMode,Devart.Data.Oracle.OracleQueueNavigation,Devart.Data.Oracle.OracleQueueVisibility,System.Int32,Devart.Data.Oracle.OracleQueueMessageId,System.String,System.String,System.String,Devart.Data.Oracle.OracleQueueDeliveryMode)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleQueueDequeueOptions" /> class. </summary>
      <param name="consumerName">The name of the consumer. </param>
      <param name="dequeueMode">The messages dequeuing behaviour. </param>
      <param name="navigation">The position of the message that will be retrieved. </param>
      <param name="visibility"><see cref="T:Devart.Data.Oracle.OracleQueueVisibility" /> that is used upon creation. </param>
      <param name="waitTimeout">The time in seconds to wait if there is currently no message available for dequeuing. -1 for unlimited wait time. </param>
      <param name="messageId">The message identifier of the message to be dequeued. </param>
      <param name="correlation">The correlation identifier of the message to be dequeued. </param>
      <param name="dequeueCondition"><see cref="P:Devart.Data.Oracle.OracleQueueDequeueOptions.DequeueCondition" /> that is used upon creation. </param>
      <param name="transformation">The transformation that will be applied after dequeuing the message. </param>
      <param name="deliveryMode"><see cref="P:Devart.Data.Oracle.OracleQueueDequeueOptions.DeliveryMode" /> that is used upon creation. Specifies whether messages are persistent or buffered. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueDequeueOptions.#ctor(System.String,Devart.Data.Oracle.OracleQueueDequeueMode,Devart.Data.Oracle.OracleQueueNavigation,Devart.Data.Oracle.OracleQueueVisibility,System.Int32,System.Byte[],System.String,System.String,System.String,Devart.Data.Oracle.OracleQueueDeliveryMode)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleQueueDequeueOptions" /> class. </summary>
      <param name="consumerName">The name of the consumer. </param>
      <param name="dequeueMode">The locking behavior associated with the dequeue. </param>
      <param name="navigation">The position of the message that will be retrieved. </param>
      <param name="visibility"><see cref="T:Devart.Data.Oracle.OracleQueueVisibility" /> that is used upon creation. </param>
      <param name="waitTimeout">The wait time in seconds. </param>
      <param name="messageId">The message identifier of the message to be dequeued. </param>
      <param name="correlation">The correlation identifier of the message to be dequeued. </param>
      <param name="dequeueCondition"><see cref="P:Devart.Data.Oracle.OracleQueueDequeueOptions.DequeueCondition" /> that is used upon creation. </param>
      <param name="transformation">The transformation that will be applied after dequeuing the message. </param>
      <param name="deliveryMode"><see cref="P:Devart.Data.Oracle.OracleQueueDequeueOptions.DeliveryMode" /> that is used upon creation. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueDequeueOptions.#ctor(System.String,Devart.Data.Oracle.OracleQueueDequeueMode,Devart.Data.Oracle.OracleQueueNavigation,Devart.Data.Oracle.OracleQueueVisibility,System.Int32,System.String,System.String,System.String,Devart.Data.Oracle.OracleQueueDeliveryMode)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleQueueDequeueOptions" /> class. </summary>
      <param name="consumerName">The name of the consumer. </param>
      <param name="dequeueMode">The locking behavior associated with the dequeue. </param>
      <param name="navigation">The position of the message that will be retrieved. </param>
      <param name="visibility"><see cref="T:Devart.Data.Oracle.OracleQueueVisibility" /> that is used upon creation. </param>
      <param name="waitTimeout">The wait time in seconds. </param>
      <param name="correlation">The correlation identifier of the message to be dequeued. </param>
      <param name="dequeueCondition"><see cref="P:Devart.Data.Oracle.OracleQueueDequeueOptions.DequeueCondition" /> that is used upon creation. </param>
      <param name="transformation">The transformation that will be applied after dequeuing the message. </param>
      <param name="deliveryMode"><see cref="P:Devart.Data.Oracle.OracleQueueDequeueOptions.DeliveryMode" /> that is used upon creation. </param>
    </member>
    <member name="P:Devart.Data.Oracle.OracleQueueDequeueOptions.ConsumerName">
      <summary>Gets or sets the name of the consumer. </summary>
      <remarks>Only those messages matching the consumer name are accessed. If a queue is not set up for multiple consumers, this field should be set to NULL. </remarks>
      <keywords>OracleQueueDequeueOptions.ConsumerName property </keywords>
      <value>The default value is null. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleQueueDequeueOptions.Correlation">
      <summary>Specifies the correlation identifier of the message to be dequeued. </summary>
      <remarks>Special pattern matching characters, such as the percent sign (%) and the underscore (_) can be used. If more than one message satisfies the pattern, the order of dequeuing is undetermined. </remarks>
      <keywords>OracleQueueDequeueOptions.Correlation property </keywords>
    </member>
    <member name="P:Devart.Data.Oracle.OracleQueueDequeueOptions.DeliveryMode">
      <summary>The dequeuer specifies the delivery mode of the messages it wishes to dequeue in the dequeue options. </summary>
      <remarks>The message properties of the dequeued message indicate the delivery mode of the dequeued message. Array dequeue is only supported for buffered messages with an array size of '1'.
Note: this property is used only for Oracle servers 10.2 and greater. </remarks>
      <keywords>OracleQueueDequeueOptions.DeliveryMode property </keywords>
      <value>The default value is OracleQueueDeliveryMode.Persistent. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleQueueDequeueOptions.DequeueCondition">
      <summary>A conditional expression based on the message properties, the message data properties, and PL/SQL functions. </summary>
      <remarks>A DequeueCondition is specified as a Boolean expression using syntax similar to the WHERE clause of a SQL query. This Boolean expression can include conditions on message properties, user data properties (object payloads only), and PL/SQL or SQL functions (as specified in the WHERE clause of a SQL query).
To specify dequeue conditions on a message payload (object payload), use attributes of the object type in clauses. You must prefix each attribute with tab.user_data as a qualifier to indicate the specific column of the queue table that stores the payload. The DequeueCondition parameter cannot exceed 4000 characters. If more than one message satisfies the dequeue condition, the order of dequeuing is undetermined. </remarks>
      <keywords>OracleQueueDequeueOptions.DequeueCondition property </keywords>
    </member>
    <member name="P:Devart.Data.Oracle.OracleQueueDequeueOptions.DequeueMode">
      <summary>Gets or sets the behavior on dequeuing the message. </summary>
      <keywords>OracleQueueDequeueOptions.DequeueMode property </keywords>
      <value>The default value is <see cref="T:Devart.Data.Oracle.OracleQueueDequeueMode" />.Remove. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueDequeueOptions.Equals(System.Object)">
      <summary>Compares two <see cref="T:Devart.Data.Oracle.OracleQueueDequeueOptions" /> objects to determine if they are equal. </summary>
      <keywords>OracleQueueDequeueOptions.Equals method </keywords>
      <param name="obj">The object to be compared. </param>
      <returns><see langword="true" /> if the compared <see cref="T:Devart.Data.Oracle.OracleQueueDequeueOptions" /> objects are identical; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueDequeueOptions.GetHashCode()">
      <summary>Returns hash code of the <see cref="T:Devart.Data.Oracle.OracleQueueDequeueOptions" /> instance. </summary>
      <keywords>OracleQueueDequeueOptions.GetHashCode method </keywords>
      <returns>The hash code of the <see cref="T:Devart.Data.Oracle.OracleQueueDequeueOptions" /> instance. </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleQueueDequeueOptions.MessageId">
      <summary>Gets or sets the message identifier of the message to be dequeued. </summary>
      <remarks>Only messages in the READY state are dequeued unless MessageId is specified. </remarks>
      <keywords>OracleQueueDequeueOptions.MessageId property </keywords>
    </member>
    <member name="P:Devart.Data.Oracle.OracleQueueDequeueOptions.Navigation">
      <summary>Specifies the position of the message that will be retrieved. </summary>
      <remarks>First, the position is determined. Second, the search criterion is applied. Finally, the message is retrieved. </remarks>
      <keywords>OracleQueueDequeueOptions.Navigation property </keywords>
      <value>The default value is OracleQueueNavigation.NextMessage. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueDequeueOptions.ToString()">
      <summary>Gets the object's type. </summary>
      <keywords>OracleQueueDequeueOptions.ToString method </keywords>
      <returns>Returns "OracleQueueDequeueOptions". </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleQueueDequeueOptions.Transformation">
      <summary>Gets or sets the transformation that will be applied after dequeuing the message. </summary>
      <remarks>The source type of the transformation must match the type of the queue. </remarks>
      <keywords>OracleQueueDequeueOptions.Transformation property </keywords>
    </member>
    <member name="P:Devart.Data.Oracle.OracleQueueDequeueOptions.Visibility">
      <summary>Specifies whether the new message is dequeued as part of the current transaction. </summary>
      <remarks>The <see cref="P:Devart.Data.Oracle.OracleQueueDequeueOptions.Visibility" /> parameter is ignored when using the <see cref="T:Devart.Data.Oracle.OracleQueueDequeueMode">OracleQueueDequeueMode.Browse</see> dequeue mode. </remarks>
      <keywords>OracleQueueDequeueOptions.Visibility property </keywords>
      <value>One of the <see cref="T:Devart.Data.Oracle.OracleQueueVisibility" /> values.
The default value is <see cref="T:Devart.Data.Oracle.OracleQueueVisibility">OracleQueueVisibility.OnCommit</see>. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleQueueDequeueOptions.WaitTimeout">
      <summary>Gets or sets the wait time in seconds if there is currently no message available which matches the search criteria. </summary>
      <remarks>If WaitTimeout less than 0, wait forever (by default). WaitTimeout 0 means do not wait at all; if there are no messages, an exception is raised. </remarks>
      <keywords>OracleQueueDequeueOptions.WaitTimeout property </keywords>
      <value>The default value is -1 which means wait forever. </value>
    </member>
    <member name="T:Devart.Data.Oracle.OracleQueueEnqueueOptions">
      <summary>Represents the options available for the enqueue operation. </summary>
      <remarks>Specify these options via <see cref="P:Devart.Data.Oracle.OracleQueue.EnqueueOptions" /> property for <see cref="T:Devart.Data.Oracle.OracleQueue" /> object that is used for enqueuing. For more information about advanced queuing technology and samples, refer to <a href="AQ.html">Advanced Queuing Technology</a> article. </remarks>
      <seealso cref="T:Devart.Data.Oracle.OracleQueueDequeueOptions" />
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueEnqueueOptions.#ctor()">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleQueueEnqueueOptions" /> class. </summary>
      <overloads>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleQueueEnqueueOptions" /> class. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueEnqueueOptions.#ctor(Devart.Data.Oracle.OracleQueueVisibility,Devart.Data.Oracle.OracleQueueMessageId,Devart.Data.Oracle.OracleQueueSequenceDeviation,System.String,Devart.Data.Oracle.OracleQueueDeliveryMode)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleQueueEnqueueOptions" /> class. </summary>
      <param name="visibility">The transactional behavior of the enqueue request. </param>
      <param name="relativeMessageID">The message identifier of the message which is referenced in the sequence deviation operation. </param>
      <param name="sequenceDeviation"><see cref="T:Devart.Data.Oracle.OracleQueueSequenceDeviation" /> that is used upon creation. </param>
      <param name="transformation">The transformation that will be applied before enqueuing the message. </param>
      <param name="deliveryMode"><see cref="T:Devart.Data.Oracle.OracleQueueDeliveryMode" /> that is used upon creation. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueEnqueueOptions.#ctor(Devart.Data.Oracle.OracleQueueVisibility,Devart.Data.Oracle.OracleQueueSequenceDeviation,System.String,Devart.Data.Oracle.OracleQueueDeliveryMode)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleQueueEnqueueOptions" /> class. </summary>
      <param name="visibility">The transactional behavior of the enqueue request. </param>
      <param name="sequenceDeviation"><see cref="T:Devart.Data.Oracle.OracleQueueSequenceDeviation" /> that is used upon creation. </param>
      <param name="transformation">The transformation that will be applied before enqueuing the message. </param>
      <param name="deliveryMode"><see cref="T:Devart.Data.Oracle.OracleQueueDeliveryMode" /> that is used upon creation. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueEnqueueOptions.#ctor(Devart.Data.Oracle.OracleQueueVisibility,System.Byte[],Devart.Data.Oracle.OracleQueueSequenceDeviation,System.String,Devart.Data.Oracle.OracleQueueDeliveryMode)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleQueueEnqueueOptions" /> class. </summary>
      <param name="visibility">The transactional behavior of the enqueue request. </param>
      <param name="relativeMessageID">The message identifier of the message which is referenced in the sequence deviation operation. </param>
      <param name="sequenceDeviation"><see cref="T:Devart.Data.Oracle.OracleQueueSequenceDeviation" /> that is used upon creation. </param>
      <param name="transformation">The transformation that will be applied before enqueuing the message. </param>
      <param name="deliveryMode"><see cref="T:Devart.Data.Oracle.OracleQueueDeliveryMode" /> that is used upon creation. </param>
    </member>
    <member name="P:Devart.Data.Oracle.OracleQueueEnqueueOptions.DeliveryMode">
      <summary>The enqueuer specifies the delivery mode of the messages it wishes to enqueue in the enqueue options. </summary>
      <keywords>OracleQueueEnqueueOptions.DeliveryMode property </keywords>
      <value>The default value is OracleQueueDeliveryMode.Persistent. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueEnqueueOptions.Equals(System.Object)">
      <summary>Compares two <see cref="T:Devart.Data.Oracle.OracleQueueEnqueueOptions" /> objects to determine if they are equal. </summary>
      <keywords>OracleQueueEnqueueOptions.Equals method </keywords>
      <param name="obj">The object to be compared. </param>
      <returns><see langword="true" /> if the compared <see cref="T:Devart.Data.Oracle.OracleQueueEnqueueOptions" /> objects are identical; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueEnqueueOptions.GetHashCode()">
      <summary>Returns hash code of the current <see cref="T:Devart.Data.Oracle.OracleQueueEnqueueOptions" /> instance. </summary>
      <keywords>OracleQueueEnqueueOptions.GetHashCode method </keywords>
      <returns>The hash code of the current <see cref="T:Devart.Data.Oracle.OracleQueueEnqueueOptions" /> instance. </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleQueueEnqueueOptions.RelativeMessageId">
      <summary>Gets or sets the message identifier of the message which is referenced in the sequence deviation operation. </summary>
      <remarks>This field is valid only if <see cref="T:Devart.Data.Oracle.OracleQueueSequenceDeviation">OracleQueueSequenceDeviation.Before</see> is specified in <see cref="P:Devart.Data.Oracle.OracleQueueEnqueueOptions.SequenceDeviation" /> property. This parameter is ignored if sequence deviation is not specified. </remarks>
      <keywords>OracleQueueEnqueueOptions.RelativeMessageId property </keywords>
    </member>
    <member name="P:Devart.Data.Oracle.OracleQueueEnqueueOptions.SequenceDeviation">
      <summary>Specifies whether the message being enqueued should be dequeued before other messages already in the queue. </summary>
      <remarks><para>This property can be used to change the order of processing two messages.
Specifying this property for a message introduces some restrictions for the delay and priority values that can be specified for this message. The delay of this message must be less than or equal to the delay of the message before which this message is to be enqueued. The priority of this message must be greater than or equal to the priority of the message before which this message is to be enqueued.</para>
<para>
Note: the SequenceDeviation attribute has no effect in releases prior to Oracle Streams AQ 10g Release 1 (10.1) if <see cref="P:Devart.Data.Oracle.OracleQueueTableOptions.MessageGrouping" /> is set to <b>Transactional</b>. The sequence deviation feature is deprecated in Oracle Streams AQ 10g Release 2 (10.2).</para> </remarks>
      <keywords>OracleQueueEnqueueOptions.SequenceDeviation property </keywords>
      <value>One of the <see cref="T:Devart.Data.Oracle.OracleQueueSequenceDeviation" /> values. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueEnqueueOptions.ToString()">
      <summary>Gets the object's type. </summary>
      <keywords>OracleQueueEnqueueOptions.ToString method </keywords>
      <returns>Returns "OracleQueueEnqueueOptions". </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleQueueEnqueueOptions.Transformation">
      <summary>Gets or sets the transformation that will be applied before enqueuing the message. </summary>
      <remarks>The return type of the transformation function must match the type of the queue. </remarks>
      <keywords>OracleQueueEnqueueOptions.Transformation property </keywords>
    </member>
    <member name="P:Devart.Data.Oracle.OracleQueueEnqueueOptions.Visibility">
      <summary>Gets or sets the transactional behavior of the enqueue request. </summary>
      <keywords>OracleQueueEnqueueOptions.Visibility property </keywords>
      <value>The default value is <see cref="T:Devart.Data.Oracle.OracleQueueVisibility">OracleQueueVisibility.OnCommit</see>. </value>
    </member>
    <member name="T:Devart.Data.Oracle.OracleQueueMessage">
      <summary>Represents queue messages. </summary>
      <remarks><para>This class is available only in Professional and Developer Editions. It is not available in Standard and Mobile Editions.</para> </remarks>
      <example>The following example demonstrates usage of <see cref="T:Devart.Data.Oracle.OracleQueue" />, <see cref="T:Devart.Data.Oracle.OracleQueueAdmin" />, <see cref="T:Devart.Data.Oracle.OracleQueueTable" />, <see cref="T:Devart.Data.Oracle.OracleQueueTableOptions" />, and <see cref="T:Devart.Data.Oracle.OracleQueueMessage" /> classes. For detailed description of advanced queuing and more samples, refer to the  <a href="AQ.html">Advanced Queuing Technology</a> article. <code lang="csharp">static void Main(string[] args)
{
	using (OracleConnection oracleConnection = new OracleConnection(
			"User Id=system;Password=manager;Server=ora;Direct=False;")) {
		oracleConnection.Open();
		OracleCommand oracleCommand = new OracleCommand(
			"CREATE OR REPLACE TYPE message AS OBJECT (nickname VARCHAR2(15), " +
			"mestext VARCHAR2(80));", oracleConnection);
		oracleCommand.ExecuteNonQuery();
		OracleQueueTable oracleQueueTable = new OracleQueueTable("QUEUE_TABLE_MESSAGE", oracleConnection);
		oracleQueueTable.Options.PayloadTypeName = "message";
		oracleQueueTable.CreateQueueTable();
		OracleQueueAdmin oracleQueueAdmin = new OracleQueueAdmin("MESSAGE_QUEUE",
			"QUEUE_TABLE_MESSAGE", oracleConnection);
		oracleQueueAdmin.CreateQueue();
		oracleQueueAdmin.StartQueue();
		OracleQueue oracleEnqueueQueue = new OracleQueue("MESSAGE_QUEUE", oracleConnection);
		OracleObject mes = new OracleObject("message", oracleConnection);
		mes["nickname"] = oracleConnection.UserId;
		mes["mestext"] = "Hello, world!";
		oracleEnqueueQueue.Enqueue(mes);
		OracleQueue oracleDequeueQueue = new OracleQueue("MESSAGE_QUEUE", oracleConnection);
		OracleQueueMessage msg = oracleDequeueQueue.Dequeue();
		if (msg != null &amp;&amp; msg.ObjectPayload != null) {
			Console.WriteLine(msg.ObjectPayload["nickname"]);
			Console.WriteLine(msg.ObjectPayload["mestext"]);
		}
		oracleQueueAdmin.StopQueue();
		oracleQueueAdmin.DropQueue();
		oracleQueueTable.DropQueueTable();
		oracleConnection.Close();
	}
} </code><code lang="vb">Sub Main()
	Using oracleConnection As New OracleConnection("User Id=system;Password=manager;Server=ora;Direct=False;")
		oracleConnection.Open()
		Dim oracleCommand As New OracleCommand("CREATE OR REPLACE TYPE message " &amp; _
			"AS OBJECT (nickname VARCHAR2(15), mestext VARCHAR2(80));", oracleConnection)
		OracleCommand.ExecuteNonQuery()
		Dim oracleQueueTable As New OracleQueueTable("QUEUE_TABLE_MESSAGE", oracleConnection)
		oracleQueueTable.Options.PayloadTypeName = "message"
		oracleQueueTable.CreateQueueTable()
		Dim oracleQueueAdmin As New OracleQueueAdmin("MESSAGE_QUEUE", _
			"QUEUE_TABLE_MESSAGE", oracleConnection)
		oracleQueueAdmin.CreateQueue()
		oracleQueueAdmin.StartQueue()
		Dim oracleEnqueueQueue As New OracleQueue("MESSAGE_QUEUE", oracleConnection)
		Dim mes As New OracleObject("message", oracleConnection)
		mes.Item("nickname") = oracleConnection.UserId
		mes.Item("mestext") = "Hello, world!"
		oracleEnqueueQueue.Enqueue(mes)
		Dim oracleDequeueQueue As New OracleQueue("MESSAGE_QUEUE", oracleConnection)
		Dim msg As OracleQueueMessage = oracleDequeueQueue.Dequeue()
		If ((Not msg Is Nothing) AndAlso (Not msg.ObjectPayload Is Nothing)) Then
			Console.WriteLine(msg.ObjectPayload.Item("nickname"))
			Console.WriteLine(msg.ObjectPayload.Item("mestext"))
		End If
		oracleQueueAdmin.StopQueue()
		oracleQueueAdmin.DropQueue()
		oracleQueueTable.DropQueueTable()
		oracleConnection.Close()
    End Using
End Sub </code></example>
      <seealso cref="T:Devart.Data.Oracle.OracleQueueMessageProperties" />
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueMessage.#ctor()">
      <summary>Initializes an empty message. </summary>
      <overloads>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleQueueMessage" /> class. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueMessage.#ctor(Devart.Data.Oracle.OracleBinary)">
      <summary>Initializes a message of RAW type. </summary>
      <param name="rawPayload">The RAW payload of message. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueMessage.#ctor(Devart.Data.Oracle.OracleBinary,Devart.Data.Oracle.OracleQueueMessageProperties)">
      <summary>Initializes a message of RAW type. </summary>
      <param name="rawPayload">The RAW payload of message. </param>
      <param name="messageProperties">The properties of message. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueMessage.#ctor(Devart.Data.Oracle.OracleObject)">
      <summary>Initializes a message of user-defined type. </summary>
      <param name="objectPayload">The object payload of message. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueMessage.#ctor(Devart.Data.Oracle.OracleObject,Devart.Data.Oracle.OracleQueueMessageProperties)">
      <summary>Initializes a message of user-defined type. </summary>
      <param name="objectPayload">The object payload of message. </param>
      <param name="messageProperties">The properties of message. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueMessage.#ctor(System.Byte[])">
      <summary>Initializes a message of RAW type. </summary>
      <param name="rawPayload">The character content of message. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueMessage.#ctor(System.Byte[],Devart.Data.Oracle.OracleQueueMessageProperties)">
      <summary>Initializes a message of RAW type. </summary>
      <param name="rawPayload">The character content of message. </param>
      <param name="messageProperties">The properties of message. </param>
    </member>
    <member name="P:Devart.Data.Oracle.OracleQueueMessage.MessageId">
      <summary>Gets or sets system generated identification of the message. </summary>
      <remarks>This is a globally unique identifier that can be used to identify the message at dequeue time. </remarks>
      <keywords>OracleQueueMessage.MessageId property </keywords>
      <value>System generated identification of the message. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleQueueMessage.MessageProperties">
      <summary>Gets or sets the information that AQ uses to manage individual messages. </summary>
      <remarks>These are set at enqueue time, and their values are returned at dequeue time. </remarks>
      <seealso cref="T:Devart.Data.Oracle.OracleQueueMessage" />
      <keywords>OracleQueueMessage.MessageProperties property </keywords>
      <value>The information that AQ uses to manage individual messages. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleQueueMessage.ObjectPayload">
      <summary>Gets or sets payload of object type for object type queues. </summary>
      <remarks>This property cannot be set if either <see cref="P:Devart.Data.Oracle.OracleQueueMessage.RawPayload" /> or <see cref="P:Devart.Data.Oracle.OracleQueueMessage.StringPayload" /> property is set. </remarks>
      <seealso cref="P:Devart.Data.Oracle.OracleQueueMessage.RawPayload" />
      <seealso cref="P:Devart.Data.Oracle.OracleQueueMessage.StringPayload" />
      <keywords>OracleQueueMessage.ObjectPayload property </keywords>
      <value>Message payload of object type for object type queues. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleQueueMessage.RawPayload">
      <summary>Gets or sets payload of type RAW for RAW queues. </summary>
      <remarks>This property and <see cref="P:Devart.Data.Oracle.OracleQueueMessage.ObjectPayload" /> property cannot be both set at the same time. </remarks>
      <seealso cref="P:Devart.Data.Oracle.OracleQueueMessage.StringPayload" />
      <seealso cref="P:Devart.Data.Oracle.OracleQueueMessage.ObjectPayload" />
      <keywords>OracleQueueMessage.RawPayload property </keywords>
      <value>Message payload of type RAW for RAW queues. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleQueueMessage.StringPayload">
      <summary>Gets or sets string representation of payload of RAW type for RAW queues. </summary>
      <remarks>This property and <see cref="P:Devart.Data.Oracle.OracleQueueMessage.ObjectPayload" /> property cannot be both set at the same time. </remarks>
      <seealso cref="P:Devart.Data.Oracle.OracleQueueMessage.RawPayload" />
      <seealso cref="P:Devart.Data.Oracle.OracleQueueMessage.ObjectPayload" />
      <keywords>OracleQueueMessage.StringPayload property </keywords>
      <value>String representation of message payload of RAW type for RAW queues. </value>
    </member>
    <member name="T:Devart.Data.Oracle.OracleQueueMessageEventArgs">
      <summary>Provides data for the <see cref="E:Devart.Data.Oracle.OracleQueue.OnMessage" /> event of the <see cref="T:Devart.Data.Oracle.OracleQueue" /> class. </summary>
      <remarks>Refer to <a href="AQ.html">Advanced Queuing Technology</a> article to get information about advanced queuing technology and samples. </remarks>
    </member>
    <member name="P:Devart.Data.Oracle.OracleQueueMessageEventArgs.MessageId">
      <summary>Gets <see cref="P:Devart.Data.Oracle.OracleQueueMessage.MessageId" /> property of the <see cref="T:Devart.Data.Oracle.OracleQueueMessage" /> object received. </summary>
      <keywords>OracleQueueMessageEventArgs.MessageId property </keywords>
      <value><see cref="P:Devart.Data.Oracle.OracleQueueMessage.MessageId" /> property of the <see cref="T:Devart.Data.Oracle.OracleQueueMessage" /> object received. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleQueueMessageEventArgs.MessageProperties">
      <summary>Gets the <see cref="P:Devart.Data.Oracle.OracleQueueMessage.MessageProperties" /> </summary>
      <keywords>OracleQueueMessageEventArgs.MessageProperties property </keywords>
      <value><see cref="P:Devart.Data.Oracle.OracleQueueMessage.MessageProperties" /> </value>
    </member>
    <member name="T:Devart.Data.Oracle.OracleQueueMessageEventHandler">
      <summary>Represents the method that will handle the <see cref="E:Devart.Data.Oracle.OracleQueue.OnMessage" /> event of an OracleQueue. </summary>
      <keywords>OracleQueueMessageEventHandler delegate </keywords>
      <param name="sender">The source of the event. </param>
      <param name="e">An <see cref="T:Devart.Data.Oracle.OracleQueueMessageEventArgs" /> object that contains the event data. </param>
    </member>
    <member name="T:Devart.Data.Oracle.OracleQueueMessageGrouping">
      <summary>Specifies the message grouping behaviour. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleQueueMessageGrouping.None">
      <summary>Message grouping is disabled, each message is treated individually. This is default value. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleQueueMessageGrouping.Transactional">
      <summary>Message grouping is enabled. All messages enqueued in one transaction are considered part of the same group and can be dequeued as a group of related messages. </summary>
    </member>
    <member name="T:Devart.Data.Oracle.OracleQueueMessageId">
      <summary>Represents the system-generated identification of the message. </summary>
      <seealso cref="T:Devart.Data.Oracle.OracleQueueMessage" />
      <seealso cref="T:Devart.Data.Oracle.OracleQueueMessageProperties" />
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueMessageId.#ctor(System.Byte[])">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleQueueMessageId" /> class. </summary>
      <param name="messageId">Array of bytes, that contain identification of the message. Its length must be equal to 16. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueMessageId.ToString()">
      <summary>Converts byte array to string in hexadecimal notation. </summary>
      <keywords>OracleQueueMessageId.ToString method </keywords>
      <returns>String of bytes in hexadecimal notation with a spaces. </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleQueueMessageId.Value">
      <summary>Gets or sets the identification of the message value in the form of array of bytes. </summary>
      <remarks>When setting this field one should remember that length of the array has to be equal to 16. </remarks>
      <keywords>OracleQueueMessageId.Value property </keywords>
      <value>The identification of the message value in the form of array of bytes. </value>
    </member>
    <member name="T:Devart.Data.Oracle.OracleQueueMessageProperties">
      <summary>Describes the information that AQ uses to manage individual messages. </summary>
      <remarks>Refer to <a href="AQ.html">Advanced Queuing Technology</a> article to get information about advanced queuing technology and samples. </remarks>
      <seealso cref="T:Devart.Data.Oracle.OracleQueueMessage" />
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueMessageProperties.#ctor()">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleQueueMessageProperties" /> class with default settings. </summary>
      <overloads>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleQueueMessageProperties" /> class. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueMessageProperties.#ctor(System.Int32,System.Int32)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleQueueMessageProperties" /> class. </summary>
      <param name="priority">The message priority; a smaller number indicates higher priority. </param>
      <param name="delay">The number of seconds after which a message is available for dequeuing. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueMessageProperties.#ctor(System.Int32,System.Int32,System.Int32,System.String)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleQueueMessageProperties" /> class. </summary>
      <param name="priority">The message priority; a smaller number indicates higher priority. </param>
      <param name="delay">The number of seconds after which a message is available for dequeuing. </param>
      <param name="expiration">The expiration time of message in seconds - the duration while the message is available for dequeuing. </param>
      <param name="correlation">The identifier supplied by the producer of the message. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueMessageProperties.#ctor(System.Int32,System.Int32,System.Int32,System.String,Devart.Data.Oracle.OracleQueueAgent[],System.String,Devart.Data.Oracle.OracleQueueAgent,Devart.Data.Oracle.OracleQueueDeliveryMode)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleQueueMessageProperties" /> class. </summary>
      <param name="priority">The message priority; a smaller number indicates higher priority. </param>
      <param name="delay">The number of seconds after which a message is available for dequeuing. </param>
      <param name="expiration">The expiration time of message in seconds - the duration while the message is available for dequeuing. </param>
      <param name="correlation">The identifier supplied by the producer of the message. </param>
      <param name="recipientList">The list of the queue subscribers. This parameter is only valid for queues that allow multiple consumers. </param>
      <param name="exceptionQueue">The name of the corresponding exception queue; it is the queue the message is moved into if it cannot be processed successfully. </param>
      <param name="senderId">The <see cref="T:Devart.Data.Oracle.OracleQueueAgent" /> object representing the message sender. </param>
      <param name="deliveryMode">The message delivery mode. Specifies whether the message is persistent or buffered. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueMessageProperties.#ctor(System.Int32,System.Int32,System.Int32,System.String,Devart.Data.Oracle.OracleQueueAgent[],System.String,Devart.Data.Oracle.OracleQueueAgent,Devart.Data.Oracle.OracleQueueMessageId,Devart.Data.Oracle.OracleQueueDeliveryMode)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleQueueMessageProperties" /> class. </summary>
      <param name="priority">The message priority; a smaller number indicates higher priority. </param>
      <param name="delay">The number of seconds after which a message is available for dequeuing. </param>
      <param name="expiration">The expiration time of message in seconds - the duration while the message is available for dequeuing. </param>
      <param name="correlation">The identifier supplied by the producer of the message. </param>
      <param name="recipientList">The list of the queue subscribers. This parameter is only valid for queues that allow multiple consumers. </param>
      <param name="exceptionQueue">The name of the corresponding exception queue; it is the queue the message is moved into if it cannot be processed successfully. </param>
      <param name="senderId">The <see cref="T:Devart.Data.Oracle.OracleQueueAgent" /> object representing the message sender. </param>
      <param name="originalMessageId">The identification of original message, which is used by Oracle Streams AQ for propagating messages. </param>
      <param name="deliveryMode">The message delivery mode. Specifies whether the message is persistent or buffered. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueMessageProperties.#ctor(System.Int32,System.Int32,System.Int32,System.String,Devart.Data.Oracle.OracleQueueAgent[],System.String,Devart.Data.Oracle.OracleQueueAgent,System.Byte[],Devart.Data.Oracle.OracleQueueDeliveryMode)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleQueueMessageProperties" /> class. </summary>
      <param name="priority">The message priority; a smaller number indicates higher priority. </param>
      <param name="delay">The number of seconds after which a message is available for dequeuing. </param>
      <param name="expiration">The expiration time of message in seconds - the duration while the message is available for dequeuing. </param>
      <param name="correlation">The identifier supplied by the producer of the message. </param>
      <param name="recipientList">The list of the queue subscribers. This parameter is only valid for queues that allow multiple consumers. </param>
      <param name="exceptionQueue">The name of the corresponding exception queue; it is the queue the message is moved into if it cannot be processed successfully. </param>
      <param name="senderId">The <see cref="T:Devart.Data.Oracle.OracleQueueAgent" /> object representing the message sender. </param>
      <param name="originalMessageId">The identification of original message, which is used by Oracle Streams AQ for propagating messages. </param>
      <param name="deliveryMode">The message delivery mode. Specifies whether the message is persistent or buffered. </param>
    </member>
    <member name="P:Devart.Data.Oracle.OracleQueueMessageProperties.Attempts">
      <summary>Gets the number of attempts that have been made to dequeue the message. </summary>
      <keywords>OracleQueueMessageProperties.Attempts property </keywords>
      <value>The number of attempts that have been made to dequeue the message. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleQueueMessageProperties.Correlation">
      <summary>Gets the identifier supplied by the producer of the message at enqueue time. </summary>
      <keywords>OracleQueueMessageProperties.Correlation property </keywords>
      <value>The identifier supplied by the producer of the message at enqueue time. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleQueueMessageProperties.Delay">
      <summary>Specifies the delay of the enqueued message. The default value is 0. </summary>
      <remarks><para>The delay represents the number of seconds after which a message is available for dequeuing. Dequeuing by message id overrides the delay specification. A message enqueued with delay set is in the <see cref="T:Devart.Data.Oracle.OracleQueueMessageState" />.Waiting state, and when the delay expires, the message goes to the <see cref="T:Devart.Data.Oracle.OracleQueueMessageState">OracleQueueMessageState.Ready</see> state. Delay processing requires the queue monitor to be started. However the queue monitor is started automatically by the system if needed. Delay is set by the producer who enqueues the message.</para>
<para>If this property is equal to zero, the message is available for immediate dequeuing.</para> </remarks>
      <seealso cref="P:Devart.Data.Oracle.OracleQueueMessageProperties.State" />
      <keywords>OracleQueueMessageProperties.Delay property </keywords>
      <value>The delay of the enqueued message. The default value is 0. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleQueueMessageProperties.DeliveryMode">
      <summary>Gets or sets delivery mode of the messages. </summary>
      <keywords>OracleQueueMessageProperties.DeliveryMode property </keywords>
      <value>Delivery mode of the messages. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleQueueMessageProperties.EnqueueTime">
      <summary>Specifies the time the message was enqueued. </summary>
      <remarks>This value is determined by the system and cannot be set by the user at enqueue time. </remarks>
      <keywords>OracleQueueMessageProperties.EnqueueTime property </keywords>
      <value>The time the message was enqueued. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueMessageProperties.Equals(System.Object)">
      <summary>Compares two <see cref="T:Devart.Data.Oracle.OracleQueueMessageProperties" /> objects to determine if they are equal. </summary>
      <keywords>OracleQueueMessageProperties.Equals method </keywords>
      <param name="obj">The object to be compared. </param>
      <returns><see langword="true" /> if the compared <see cref="T:Devart.Data.Oracle.OracleQueueMessageProperties" /> objects are identical; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleQueueMessageProperties.ExceptionQueue">
      <summary>Gets or sets the name of the queue into which the message is moved if it cannot be processed successfully. </summary>
      <remarks><para>Messages are moved automatically into the exception queue. Messages are moved into the exception queue in the following cases:</para>

<list>
  <item>
    <description>The number of unsuccessful dequeue attempts has exceeded the specification for the <see cref="P:Devart.Data.Oracle.OracleQueueOptions.MaxRetries" /> parameter.</description>
  </item>
  <item>
    <description>For multiconsumer queues, the message becomes eligible to be moved to the exception queue even if failed dequeue attempts exceeds the <see cref="P:Devart.Data.Oracle.OracleQueueOptions.MaxRetries" /> parameter for only one of the consumers. But the message will not be moved until either all other consumers have successfully consumed the message or failed more than <see cref="P:Devart.Data.Oracle.OracleQueueOptions.MaxRetries" />.</description>
  </item>
  <item>
    <description>If a dequeue transaction fails because the server process dies (including ALTER SYSTEM KILL SESSION) or SHUTDOWN ABORT on the instance.</description>
  </item>
  <item>
    <description>A message was not dequeued before the expiration time elapsed.</description>
  </item>
  <item>
    <description>Message propagation to the specified destination queue failed with one of the following errors: 
		<br />There were no recipients for the multiconsumer destination queue.
		<br />Recipients were specified for a single-consumer destination queue.
		<br />Destination queue was an exception queue.
		<br />There was an error when applying transformation.
	</description>
  </item>
</list>

<para>The default is the exception queue associated with the queue table. If the exception queue specified does not exist at the time of the move, the message is moved to the default exception queue associated with the queue table, and a warning is logged in the alert file. If the default exception queue is specified, then the parameter returns a NULL value at dequeue time.</para> </remarks>
      <seealso cref="T:Devart.Data.Oracle.OracleQueueOptions" />
      <seealso cref="T:Devart.Data.Oracle.OracleQueue" />
      <keywords>OracleQueueMessageProperties.ExceptionQueue property </keywords>
      <value>The name of the queue into which the message is moved if it cannot be processed successfully. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleQueueMessageProperties.Expiration">
      <summary>Specifies the expiration of the message. It determines, in seconds, the duration the message is available for dequeuing. Default is -1. </summary>
      <remarks><para>This parameter is an offset from the time the message is ready for dequeue. Expiration processing requires the queue monitor to be running. However the queue monitor is started automatically by the system if needed.</para>
<para>If Expiration = -1 the message does not expire.</para>
<para>If the message is not dequeued before it expires, then it is moved to the exception queue in the OracleQueueMessageState.Expired state.</para> </remarks>
      <seealso cref="P:Devart.Data.Oracle.OracleQueueMessageProperties.State" />
      <keywords>OracleQueueMessageProperties.Expiration property </keywords>
      <value>The number of seconds message remains in OracleQueueMessageState.Ready state. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueMessageProperties.GetHashCode()">
      <summary>Returns hash code of the current <see cref="T:Devart.Data.Oracle.OracleQueueMessageProperties" /> instance. </summary>
      <keywords>OracleQueueMessageProperties.GetHashCode method </keywords>
      <returns>The hash code of the current <see cref="T:Devart.Data.Oracle.OracleQueueMessageProperties" /> instance. </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleQueueMessageProperties.OriginalMessageId">
      <summary>This parameter is used by Oracle Streams AQ for propagating messages. </summary>
      <keywords>OracleQueueMessageProperties.OriginalMessageId property </keywords>
    </member>
    <member name="P:Devart.Data.Oracle.OracleQueueMessageProperties.Priority">
      <summary>Specifies the priority of the message. A smaller number indicates higher priority. The priority can be any number, including negative numbers. Default is 1. </summary>
      <keywords>OracleQueueMessageProperties.Priority property </keywords>
      <value>The priority of the message. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleQueueMessageProperties.RecipientList">
      <summary>Gets or sets the collection of queue subscribers. </summary>
      <remarks>This parameter is only valid for queues that allow multiple consumers. If empty, the queue will be available for any consumer. This parameter is not returned to a consumer at dequeue time. </remarks>
      <seealso cref="T:Devart.Data.Oracle.OracleQueue" />
      <seealso cref="T:Devart.Data.Oracle.OracleQueueAgent" />
      <keywords>OracleQueueMessageProperties.RecipientList property </keywords>
      <value>The collection of queue subscribers. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleQueueMessageProperties.SenderId">
      <summary>The application-sender identification specified at enqueue time by the message producer. </summary>
      <keywords>OracleQueueMessageProperties.SenderId property </keywords>
    </member>
    <member name="P:Devart.Data.Oracle.OracleQueueMessageProperties.State">
      <summary>Specifies the state of the message at the time of the dequeue. This parameter cannot be set at enqueue time. </summary>
      <keywords>OracleQueueMessageProperties.State property </keywords>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueMessageProperties.ToString()">
      <summary>Gets the object's type. </summary>
      <keywords>OracleQueueMessageProperties.ToString method </keywords>
      <returns>Returns "OracleQueueMessageProperties". </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleQueueMessageProperties.TransactionGroup">
      <summary>Specifies the transaction_group for the dequeued message. </summary>
      <remarks>Messages belonging to the same transaction group will have the same value for this attribute. This attribute is only set by the OracleQueue.DequeueArray. This attribute cannot be used to set the transaction group of a message through OracleQueue.Enqueue or OracleQueue.EnqueueArray calls. </remarks>
      <keywords>OracleQueueMessageProperties.TransactionGroup property </keywords>
    </member>
    <member name="T:Devart.Data.Oracle.OracleQueueMessageState">
      <summary>Specifies the state of the message. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleQueueMessageState.Expired">
      <summary>The message has been moved to the exception queue. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleQueueMessageState.Processed">
      <summary>The message has been processed and is retained. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleQueueMessageState.Ready">
      <summary>The message is ready to be processed. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleQueueMessageState.Waiting">
      <summary>The message delay has not yet been reached. </summary>
    </member>
    <member name="T:Devart.Data.Oracle.OracleQueueNavigation">
      <summary>Specifies which message will be dequeued next. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleQueueNavigation.FirstMessage">
      <summary>Retrieves the first message which is available and matches the search criteria. This setting resets the position to the beginning of the queue. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleQueueNavigation.FirstMessageMultiGroup">
      <summary>Indicates that a call to DequeueArray will reset the position to the beginning of the queue and dequeue messages (possibly across different transaction groups) that are available and match the search criteria, until reaching the array length limit. (Supported in Oracle server 10g and greater.) </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleQueueNavigation.NextMessage">
      <summary>Retrieve the next message that is available and matches the search criteria. If the previous message belongs to a message group, AQ retrieves the next available message that matches the search criteria and belongs to the message group. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleQueueNavigation.NextMessageMultiGroup">
      <summary>Indicates that a call to DequeueArray will dequeue the next set of messages (possibly across different transaction groups) that are available and match the search criteria, until reaching the array length limit. (Supported in Oracle server 10g and greater.) </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleQueueNavigation.NextTransaction">
      <summary>Skip the remainder of the current transaction group (if any) and retrieve the first message of the next transaction group. This setting can only be used if message grouping is enabled for the current queue. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleQueueNavigation.Unknown">
      <summary>The next dequeud message is not specified. </summary>
    </member>
    <member name="T:Devart.Data.Oracle.OracleQueueOptions">
      <summary>Queue options that are used upon creation. </summary>
      <remarks>Specify these options via <see cref="P:Devart.Data.Oracle.OracleQueueAdmin.Options" /> property of the <see cref="T:Devart.Data.Oracle.OracleQueueAdmin" /> class to make settings for the queue that will be created.  For more information about advanced queuing technology and samples, refer to <a href="AQ.html">Advanced Queuing Technology</a> article. </remarks>
      <seealso cref="T:Devart.Data.Oracle.OracleQueue" />
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueOptions.#ctor()">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleQueueOptions" /> class. </summary>
      <overloads>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleQueueOptions" /> class. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueOptions.#ctor(Devart.Data.Oracle.OracleQueueType,System.Double,System.Double,System.Double,System.String)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleQueueOptions" /> class. </summary>
      <param name="queueType">The queue type, one from <see cref="T:Devart.Data.Oracle.OracleQueueType" />. Specifies if the queue is normal, service or nonpersistent with RAW message payload. </param>
      <param name="maxRetries">The number of retries to dequeue the message in the Remove mode. 0 means retries can be unlimited. </param>
      <param name="retryDelay">Delay time, in seconds, before the message can be processed again after the previous attempt. 0 means the retry can be made as soon as possible. </param>
      <param name="retentionTime">Time in seconds while the message is retained in the queue table after being dequeued. 0 for no retention. </param>
      <param name="comment">User-specified description of the queue. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueOptions.#ctor(Devart.Data.Oracle.OracleQueueType,System.String)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleQueueOptions" /> class. </summary>
      <param name="queueType">The queue type, one from <see cref="T:Devart.Data.Oracle.OracleQueueType" />. Specifies if the queue is normal, service or nonpersistent with RAW message payload. </param>
      <param name="comment">User-specified description of the queue. </param>
    </member>
    <member name="P:Devart.Data.Oracle.OracleQueueOptions.Comment">
      <summary>Gets or sets user-specified description of the queue. </summary>
      <keywords>OracleQueueOptions.Comment property </keywords>
      <value>User-specified description of the queue. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueOptions.Equals(System.Object)">
      <summary>Compares two <see cref="T:Devart.Data.Oracle.OracleQueueOptions" /> objects to determine if they are equal. </summary>
      <keywords>OracleQueueOptions.Equals method </keywords>
      <param name="obj">The object to be compared. </param>
      <returns><see langword="true" /> if the compared <see cref="T:Devart.Data.Oracle.OracleQueueOptions" /> objects are identical; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueOptions.GetHashCode()">
      <summary>Returns hash code of the current <see cref="T:Devart.Data.Oracle.OracleQueueOptions" /> instance. </summary>
      <keywords>OracleQueueOptions.GetHashCode method </keywords>
      <returns>The hash code of the current <see cref="T:Devart.Data.Oracle.OracleQueueOptions" /> instance. </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleQueueOptions.MaxRetries">
      <summary>Limits the number of retries to dequeue the message in the Remove mode. Default value is 0, which means retries are unlimited. </summary>
      <remarks>Default value is 0, which means retries are unlimited. Note that MaxRetries is supported for all single consumer queues and 8.1-compatible or higher multiconsumer queues but not for 8.0-compatible multiconsumer queues. </remarks>
      <keywords>OracleQueueOptions.MaxRetries property </keywords>
      <value>The number of times a dequeue with the <see cref="T:Devart.Data.Oracle.OracleQueueDequeueMode" />.Remove mode can be attempted on a message. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleQueueOptions.QueueType">
      <summary>Gets or sets the queue type. </summary>
      <keywords>OracleQueueOptions.QueueType property </keywords>
      <value>The queue type, one from <see cref="T:Devart.Data.Oracle.OracleQueueType" />. Specifies if the queue is normal, service or nonpersistent with RAW message payload. Default value is <see cref="T:Devart.Data.Oracle.OracleQueueType" />.Normal. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleQueueOptions.RetentionTime">
      <summary>Gets or sets the number of seconds for which a message is retained in the queue table after being dequeued from the queue. The default is 0, no retention. </summary>
      <keywords>OracleQueueOptions.RetentionTime property </keywords>
      <value>Number of seconds for which a message is retained in the queue table after being dequeued from the queue. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleQueueOptions.RetryDelay">
      <summary>Gets or sets delay time, in seconds, before this message is scheduled for processing again after an application rollback. </summary>
      <remarks>The default value is 0, which means the message can be retried as soon as possible. This parameter has no effect if MaxRetries is set to 0. Note that RetryDelay is supported for single consumer queues and 8.1-compatible or higher multiconsumer queues but not for 8.0-compatible multiconsumer queues. </remarks>
      <keywords>OracleQueueOptions.RetryDelay property </keywords>
      <value>Delay time, in seconds, before this message is scheduled for processing again after an application rollback. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueOptions.ToString()">
      <summary>Gets the object's type. </summary>
      <keywords>OracleQueueOptions.ToString method </keywords>
      <returns>Returns "OracleQueueOptions". </returns>
    </member>
    <member name="T:Devart.Data.Oracle.OracleQueuePrivilege">
      <summary>The privilege to enqueue or dequeue messages on the queue. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleQueuePrivilege.All">
      <summary>Ability to execute both Enqueue and Dequeue for specified queue. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleQueuePrivilege.Dequeue">
      <summary>Ability to execute Dequeue for specified queue. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleQueuePrivilege.Enqueue">
      <summary>Ability to execute Enqueue for specified queue. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleQueuePrivilege.Unknown">
      <summary>The privilege is not specified. </summary>
    </member>
    <member name="T:Devart.Data.Oracle.OracleQueueSequenceDeviation">
      <summary>Specifies whether the message being enqueued should be dequeued before other messages already in the queue. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleQueueSequenceDeviation.Before">
      <summary>The message is enqueued ahead of the message specified by OracleQueueEnqueueOptions.RelativeMessageId. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleQueueSequenceDeviation.Top">
      <summary>The message is enqueued ahead of any other messages. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleQueueSequenceDeviation.Unknown">
      <summary>No sequence deviation. </summary>
    </member>
    <member name="T:Devart.Data.Oracle.OracleQueueSortOrder">
      <summary>Specifies which parameters are used to order messages in the queue. The order is ascending. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleQueueSortOrder.EnqueueTime">
      <summary>Sort by enqueue time. This is the default value. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleQueueSortOrder.EnqueueTimePriority">
      <summary>Sort by enqueue time and then by priority. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleQueueSortOrder.Priority">
      <summary>Sort by priority. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleQueueSortOrder.PriorityEnqueueTime">
      <summary>Sort by priority and then by enqueue time. </summary>
    </member>
    <member name="T:Devart.Data.Oracle.OracleQueueSystemPrivilege">
      <summary>The AQ administration privilige granted to or revoked from a user or role. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleQueueSystemPrivilege.DequeueAny">
      <summary>Means users granted this privilege are allowed to dequeue messages from any queues in the database. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleQueueSystemPrivilege.EnqueueAny">
      <summary>Means users granted this privilege are allowed to enqueue messages to any queues in the database. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleQueueSystemPrivilege.ManageAny">
      <summary>Means users granted this privilege are allowed to run OracleQueueAdmin methods calls on any schemas in the database. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleQueueSystemPrivilege.Unknown">
      <summary>The system privilege is not specified. </summary>
    </member>
    <member name="T:Devart.Data.Oracle.OracleQueueTable">
      <summary>Represent queue table for messages of a predefined type. </summary>
      <remarks><para>This class is used to manage, create and drop the database table where message queues are stored. To use or configure queues themselves, either <see cref="T:Devart.Data.Oracle.OracleQueue" /> or <see cref="T:Devart.Data.Oracle.OracleQueueAdmin" /> class should be used.</para>
<para>This class is available only in Professional and Developer Editions. It is not available in Standard and Mobile Editions.</para> </remarks>
      <example>The following example demonstrates usage of <see cref="T:Devart.Data.Oracle.OracleQueue" />, <see cref="T:Devart.Data.Oracle.OracleQueueAdmin" />, <see cref="T:Devart.Data.Oracle.OracleQueueTable" />, <see cref="T:Devart.Data.Oracle.OracleQueueTableOptions" />, and <see cref="T:Devart.Data.Oracle.OracleQueueMessage" /> classes. For detailed description of advanced queuing and more samples, refer to the  <a href="AQ.html">Advanced Queuing Technology</a> article. <code lang="csharp">static void Main(string[] args)
{
	using (OracleConnection oracleConnection = new OracleConnection(
			"User Id=system;Password=manager;Server=ora;Direct=False;")) {
		oracleConnection.Open();
		OracleCommand oracleCommand = new OracleCommand(
			"CREATE OR REPLACE TYPE message AS OBJECT (nickname VARCHAR2(15), " +
			"mestext VARCHAR2(80));", oracleConnection);
		oracleCommand.ExecuteNonQuery();
		OracleQueueTable oracleQueueTable = new OracleQueueTable("QUEUE_TABLE_MESSAGE", oracleConnection);
		oracleQueueTable.Options.PayloadTypeName = "message";
		oracleQueueTable.CreateQueueTable();
		OracleQueueAdmin oracleQueueAdmin = new OracleQueueAdmin("MESSAGE_QUEUE",
			"QUEUE_TABLE_MESSAGE", oracleConnection);
		oracleQueueAdmin.CreateQueue();
		oracleQueueAdmin.StartQueue();
		OracleQueue oracleEnqueueQueue = new OracleQueue("MESSAGE_QUEUE", oracleConnection);
		OracleObject mes = new OracleObject("message", oracleConnection);
		mes["nickname"] = oracleConnection.UserId;
		mes["mestext"] = "Hello, world!";
		oracleEnqueueQueue.Enqueue(mes);
		OracleQueue oracleDequeueQueue = new OracleQueue("MESSAGE_QUEUE", oracleConnection);
		OracleQueueMessage msg = oracleDequeueQueue.Dequeue();
		if (msg != null &amp;&amp; msg.ObjectPayload != null) {
			Console.WriteLine(msg.ObjectPayload["nickname"]);
			Console.WriteLine(msg.ObjectPayload["mestext"]);
		}
		oracleQueueAdmin.StopQueue();
		oracleQueueAdmin.DropQueue();
		oracleQueueTable.DropQueueTable();
		oracleConnection.Close();
	}
} </code><code lang="vb">Sub Main()
	Using oracleConnection As New OracleConnection("User Id=system;Password=manager;Server=ora;Direct=False;")
		oracleConnection.Open()
		Dim oracleCommand As New OracleCommand("CREATE OR REPLACE TYPE message " &amp; _
			"AS OBJECT (nickname VARCHAR2(15), mestext VARCHAR2(80));", oracleConnection)
		OracleCommand.ExecuteNonQuery()
		Dim oracleQueueTable As New OracleQueueTable("QUEUE_TABLE_MESSAGE", oracleConnection)
		oracleQueueTable.Options.PayloadTypeName = "message"
		oracleQueueTable.CreateQueueTable()
		Dim oracleQueueAdmin As New OracleQueueAdmin("MESSAGE_QUEUE", _
			"QUEUE_TABLE_MESSAGE", oracleConnection)
		oracleQueueAdmin.CreateQueue()
		oracleQueueAdmin.StartQueue()
		Dim oracleEnqueueQueue As New OracleQueue("MESSAGE_QUEUE", oracleConnection)
		Dim mes As New OracleObject("message", oracleConnection)
		mes.Item("nickname") = oracleConnection.UserId
		mes.Item("mestext") = "Hello, world!"
		oracleEnqueueQueue.Enqueue(mes)
		Dim oracleDequeueQueue As New OracleQueue("MESSAGE_QUEUE", oracleConnection)
		Dim msg As OracleQueueMessage = oracleDequeueQueue.Dequeue()
		If ((Not msg Is Nothing) AndAlso (Not msg.ObjectPayload Is Nothing)) Then
			Console.WriteLine(msg.ObjectPayload.Item("nickname"))
			Console.WriteLine(msg.ObjectPayload.Item("mestext"))
		End If
		oracleQueueAdmin.StopQueue()
		oracleQueueAdmin.DropQueue()
		oracleQueueTable.DropQueueTable()
		oracleConnection.Close()
    End Using
End Sub </code></example>
      <seealso cref="T:Devart.Data.Oracle.OracleQueue" />
      <seealso cref="T:Devart.Data.Oracle.OracleQueueAdmin" />
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueTable.#ctor()">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleQueueTable" /> class. </summary>
      <overloads>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleQueueTable" /> class. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueTable.#ctor(System.String)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleQueueTable" /> class. </summary>
      <param name="name">The name of the database table which will contain queues. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueTable.#ctor(System.String,Devart.Data.Oracle.OracleConnection)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleQueueTable" /> class. </summary>
      <param name="name">The name of the database table which will contain queues. </param>
      <param name="connection">An <see cref="T:Devart.Data.Oracle.OracleConnection" /> to the Oracle server which provides the AQ functionality. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueTable.#ctor(System.String,Devart.Data.Oracle.OracleQueueTableOptions,Devart.Data.Oracle.OracleConnection)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleQueueTable" /> class. </summary>
      <param name="name">The name of the database table which will contain queues. </param>
      <param name="options">Queue table properties, that are used for its creation. </param>
      <param name="connection">An <see cref="T:Devart.Data.Oracle.OracleConnection" /> to the Oracle server which provides the AQ functionality. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueTable.AlterComment(System.String)">
      <summary>Sets the user-defined description of the queue table. </summary>
      <keywords>OracleQueueTable.AlterComment method </keywords>
      <param name="comment">The user-defined commect to set. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueTable.AlterPrimaryInstance(System.Int32)">
      <summary>Changes the primary Oracle instance that is used to operate the queue table. </summary>
      <remarks>Does nothing if primaryInstance parameter is less than 0. </remarks>
      <keywords>OracleQueueTable.AlterPrimaryInstance method </keywords>
      <param name="primaryInstance">The Oracle instance identifier. 0 means any available instance can be the queue table's owner. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueTable.AlterQueueTable(System.String,System.Int32,System.Int32)">
      <summary>Alters the existing properties of a queue table. </summary>
      <remarks>If comment is null, then Comment value is not altered. 
If primaryInstance &lt; 0, then PrimaryInstance value is not altered.
If secondaryInstance &lt; 0, then SecondaryInstance value is not altered. </remarks>
      <seealso cref="M:Devart.Data.Oracle.OracleQueueTable.CreateQueueTable" />
      <keywords>OracleQueueTable.AlterQueueTable method </keywords>
      <param name="comment">Modifies the user-specified description of the queue table. </param>
      <param name="primaryInstance">The primary owner of the queue table. Queue monitor scheduling and propagation for the queues in the queue table will be done in this instance. 0 to use any available instance. </param>
      <param name="secondaryInstance">The queue table fails over to the secondary instance if the primary instance is not available. 0 to use any available instance. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueTable.AlterSecondaryInstance(System.Int32)">
      <summary>Changes the secondary Oracle instance that is used to operate the queue table. </summary>
      <remarks>Does nothing if primaryInstance parameter is less than 0. </remarks>
      <keywords>OracleQueueTable.AlterSecondaryInstance method </keywords>
      <param name="secondaryInstance">The Oracle instance identifier. 0 means any available instance can be the queue table's owner. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueTable.BeginInit()">
      <summary>Begins the initialization of an <see cref="T:Devart.Data.Oracle.OracleQueueTable" />. The initialization occurs at run time. </summary>
      <keywords>OracleQueueTable.BeginInit method </keywords>
    </member>
    <member name="P:Devart.Data.Oracle.OracleQueueTable.Connection">
      <summary>Gets or sets an <see cref="T:Devart.Data.Oracle.OracleConnection" /> to the Oracle server which provides the AQ functionality. </summary>
      <keywords>OracleQueueTable.Connection property </keywords>
      <value>An <see cref="T:Devart.Data.Oracle.OracleConnection" /> to the Oracle server which provides the AQ functionality. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueTable.CreateQueue(System.String,Devart.Data.Oracle.OracleQueueOptions)">
      <summary>Creates new queue in the current queue table. </summary>
      <remarks>Options of the queue to be created must not contradict to the options of queue table. </remarks>
      <seealso cref="M:Devart.Data.Oracle.OracleQueueAdmin.CreateQueue" />
      <seealso cref="T:Devart.Data.Oracle.OracleQueueOptions" />
      <keywords>OracleQueueTable.CreateQueue method </keywords>
      <param name="queueName">Name of the queue to be created. </param>
      <param name="options">Options of the queue to be created. </param>
      <returns>OracleQueue instance, related to the queue created. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueTable.CreateQueueTable()">
      <summary>Creates a queue table for storing queues in the database. Uses <see cref="P:Devart.Data.Oracle.OracleQueueTable.Connection" /> for connecting to the database, sets the name and parameters of the table in database relying on <see cref="P:Devart.Data.Oracle.OracleQueueTable.QueueTableName" /> and <see cref="P:Devart.Data.Oracle.OracleQueueTable.Options" />. </summary>
      <keywords>OracleQueueTable.CreateQueueTable method </keywords>
      <overloads>Creates a queue table for storing queues in the database. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueTable.CreateQueueTable(System.String,Devart.Data.Oracle.OracleQueueTableOptions,Devart.Data.Oracle.OracleConnection)">
      <summary>Creates a queue table for storing queues in the database. Uses the specified connection for connecting to the database, sets the specified name and properties to the created table. </summary>
      <keywords>OracleQueueTable.CreateQueueTable method </keywords>
      <param name="name">Name of the queue table in the database. </param>
      <param name="options">Parameters for creating the queue table in the database. </param>
      <param name="connection">An <see cref="T:Devart.Data.Oracle.OracleConnection" /> to the Oracle server which provides the AQ functionality. </param>
      <returns>Returns the OracleQueueTable instance with Name, Options and Connection set as in the arguments. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueTable.DropQueueTable()">
      <summary>Drops an existing queue table. Does not stop and drop the existing queues, thus failing if there are any. </summary>
      <keywords>OracleQueueTable.DropQueueTable method </keywords>
      <overloads>Drops an existing queue table. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueTable.DropQueueTable(System.Boolean)">
      <summary>Drops an existing queue table. </summary>
      <keywords>OracleQueueTable.DropQueueTable method </keywords>
      <param name="force"><see langword="false" /> means the operation does not succeed if there are any queues in the table. 
<see langword="true" /> means all queues in the table are stopped and dropped automatically. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueTable.EndInit()">
      <summary>Ends the initialization of an <see cref="T:Devart.Data.Oracle.OracleQueueTable" />. The initialization occurs at run time. </summary>
      <keywords>OracleQueueTable.EndInit method </keywords>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueTable.GetQueueNames()">
      <summary>Returns a list of names of all queues, which belongs to the given queue table. </summary>
      <seealso cref="T:Devart.Data.Oracle.OracleQueue" />
      <keywords>OracleQueueTable.GetQueueNames method </keywords>
      <returns>Array of names of all queues, which belongs to the given queue table. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueTable.GetQueueTable(System.String,Devart.Data.Oracle.OracleConnection)">
      <summary>Creates an instance of OracleQueueTable, related to queue table existent on a server. </summary>
      <remarks>Returning instance has valid Options state. </remarks>
      <seealso cref="M:Devart.Data.Oracle.OracleQueueTable.CreateQueueTable" />
      <keywords>OracleQueueTable.GetQueueTable method </keywords>
      <param name="name">Name of existent queue table. </param>
      <param name="connection">Connection to Oracle server. </param>
      <returns>OracleQueueTable instance, related to queue table existent on a server. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueTable.MigrateQueueTable(Devart.Data.Oracle.OracleQueueCompatible)">
      <summary>Ugrades an 8.0-compatible queue table to an 8.1-compatible or higher queue table, or downgrades an 8.1-compatible or higher queue table to an 8.0-compatible queue table. </summary>
      <seealso cref="T:Devart.Data.Oracle.OracleQueueTableOptions" />
      <seealso cref="T:Devart.Data.Oracle.OracleQueueCompatible" />
      <keywords>OracleQueueTable.MigrateQueueTable method </keywords>
      <param name="compatible">Oracle AQ version to migrate to. </param>
    </member>
    <member name="P:Devart.Data.Oracle.OracleQueueTable.Options">
      <summary>Gets or sets queue table properties. </summary>
      <remarks>This property has to be set to create a new queue table. If using existent queue table, this property is set when calling GetQueueTable or ReadQueueTableProperties methods. </remarks>
      <seealso cref="M:Devart.Data.Oracle.OracleQueueTable.ReadQueueTableProperties()" />
      <keywords>OracleQueueTable.Options property </keywords>
      <value>Queue table properties, that are used for its creation. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueTable.PurgeQueueTable()">
      <summary>Purges messages from queue tables. </summary>
      <keywords>OracleQueueTable.PurgeQueueTable method </keywords>
      <overloads>Purges messages from queue tables. You can perform various purge operations on both single-consumer and multiconsumer queue tables for persistent queues. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueTable.PurgeQueueTable(System.String)">
      <summary>Purges messages from queue tables. </summary>
      <keywords>OracleQueueTable.PurgeQueueTable method </keywords>
      <param name="condition">Specifies the purge condition to use when purging the queue table. The purge condition must be in the format of a SQL WHERE clause, and it is case-sensitive. The condition is based on the columns of aq$queue_table view. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueTable.PurgeQueueTable(System.String,Devart.Data.Oracle.OracleQueueDeliveryMode)">
      <summary>Purges messages from queue tables. </summary>
      <keywords>OracleQueueTable.PurgeQueueTable method </keywords>
      <param name="condition">Specifies the purge condition to use when purging the queue table. The purge condition must be in the format of a SQL WHERE clause, and it is case-sensitive. The condition is based on the columns of aq$queue_table view. </param>
      <param name="deliveryMode">This parameter is used to specify delivery mode of messages are to be purged. You cannot implement arbitrary purge conditions if buffered messages have to be purged. (Used in Oracle Server 10.2 only.) </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueTable.PurgeQueueTable(System.String,System.Boolean)">
      <summary>Purges messages from queue tables. </summary>
      <keywords>OracleQueueTable.PurgeQueueTable method </keywords>
      <param name="condition">Specifies the purge condition to use when purging the queue table. The purge condition must be in the format of a SQL WHERE clause, and it is case-sensitive. The condition is based on the columns of aq$queue_table view. </param>
      <param name="block">If block is <see langword="true" />, then an exclusive lock on all the queues in the queue table is held while purging the queue table. This will cause concurrent enqueuers and dequeuers to block while the queue table is purged. The purge call always succeeds if block is <see langword="true" />. This will not block enqueuers and dequeuers, but it can cause the purge to fail with an error during high concurrency times. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueTable.PurgeQueueTable(System.String,System.Boolean,Devart.Data.Oracle.OracleQueueDeliveryMode)">
      <summary>Purges messages from queue tables. </summary>
      <keywords>OracleQueueTable.PurgeQueueTable method </keywords>
      <param name="condition">Specifies the purge condition to use when purging the queue table. The purge condition must be in the format of a SQL WHERE clause, and it is case-sensitive. The condition is based on the columns of aq$queue_table view. </param>
      <param name="block">If block is <see langword="true" />, then an exclusive lock on all the queues in the queue table is held while purging the queue table. This will cause concurrent enqueuers and dequeuers to block while the queue table is purged. The purge call always succeeds if block is <see langword="true" />. This will not block enqueuers and dequeuers, but it can cause the purge to fail with an error during high concurrency times. </param>
      <param name="deliveryMode">This parameter is used to specify delivery mode of messages are to be purged. You cannot implement arbitrary purge conditions if buffered messages have to be purged. (Used in Oracle Server 10.2 only.) </param>
    </member>
    <member name="P:Devart.Data.Oracle.OracleQueueTable.QueueTableName">
      <summary>Gets or sets the name of the database table which will contain queues. </summary>
      <keywords>OracleQueueTable.QueueTableName property </keywords>
      <value>The name of the database table which will contain queues. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueTable.ReadQueueTableProperties()">
      <summary>Reads the options of the queue table with name as in <see cref="P:Devart.Data.Oracle.OracleQueueTable.QueueTableName" /> from the Oracle database. After that, assigns the read data to the <see cref="P:Devart.Data.Oracle.OracleQueueTable.Options" /> property. </summary>
      <seealso cref="M:Devart.Data.Oracle.OracleQueueTable.CreateQueueTable" />
      <seealso cref="M:Devart.Data.Oracle.OracleQueueTable.GetQueueTable(System.String,Devart.Data.Oracle.OracleConnection)" />
      <keywords>OracleQueueTable.ReadQueueTableProperties method </keywords>
    </member>
    <member name="T:Devart.Data.Oracle.OracleQueueTableOptions">
      <summary>Queue table properties, that are used for its creation. </summary>
      <example>The following example demonstrates usage of <see cref="T:Devart.Data.Oracle.OracleQueue" />, <see cref="T:Devart.Data.Oracle.OracleQueueAdmin" />, <see cref="T:Devart.Data.Oracle.OracleQueueTable" />, <see cref="T:Devart.Data.Oracle.OracleQueueTableOptions" />, and <see cref="T:Devart.Data.Oracle.OracleQueueMessage" /> classes. For detailed description of advanced queuing and more samples, refer to the  <a href="AQ.html">Advanced Queuing Technology</a> article. <code lang="csharp">static void Main(string[] args)
{
	using (OracleConnection oracleConnection = new OracleConnection(
			"User Id=system;Password=manager;Server=ora;Direct=False;")) {
		oracleConnection.Open();
		OracleCommand oracleCommand = new OracleCommand(
			"CREATE OR REPLACE TYPE message AS OBJECT (nickname VARCHAR2(15), " +
			"mestext VARCHAR2(80));", oracleConnection);
		oracleCommand.ExecuteNonQuery();
		OracleQueueTable oracleQueueTable = new OracleQueueTable("QUEUE_TABLE_MESSAGE", oracleConnection);
		oracleQueueTable.Options.PayloadTypeName = "message";
		oracleQueueTable.CreateQueueTable();
		OracleQueueAdmin oracleQueueAdmin = new OracleQueueAdmin("MESSAGE_QUEUE",
			"QUEUE_TABLE_MESSAGE", oracleConnection);
		oracleQueueAdmin.CreateQueue();
		oracleQueueAdmin.StartQueue();
		OracleQueue oracleEnqueueQueue = new OracleQueue("MESSAGE_QUEUE", oracleConnection);
		OracleObject mes = new OracleObject("message", oracleConnection);
		mes["nickname"] = oracleConnection.UserId;
		mes["mestext"] = "Hello, world!";
		oracleEnqueueQueue.Enqueue(mes);
		OracleQueue oracleDequeueQueue = new OracleQueue("MESSAGE_QUEUE", oracleConnection);
		OracleQueueMessage msg = oracleDequeueQueue.Dequeue();
		if (msg != null &amp;&amp; msg.ObjectPayload != null) {
			Console.WriteLine(msg.ObjectPayload["nickname"]);
			Console.WriteLine(msg.ObjectPayload["mestext"]);
		}
		oracleQueueAdmin.StopQueue();
		oracleQueueAdmin.DropQueue();
		oracleQueueTable.DropQueueTable();
		oracleConnection.Close();
	}
} </code><code lang="vb">Sub Main()
	Using oracleConnection As New OracleConnection("User Id=system;Password=manager;Server=ora;Direct=False;")
		oracleConnection.Open()
		Dim oracleCommand As New OracleCommand("CREATE OR REPLACE TYPE message " &amp; _
			"AS OBJECT (nickname VARCHAR2(15), mestext VARCHAR2(80));", oracleConnection)
		OracleCommand.ExecuteNonQuery()
		Dim oracleQueueTable As New OracleQueueTable("QUEUE_TABLE_MESSAGE", oracleConnection)
		oracleQueueTable.Options.PayloadTypeName = "message"
		oracleQueueTable.CreateQueueTable()
		Dim oracleQueueAdmin As New OracleQueueAdmin("MESSAGE_QUEUE", _
			"QUEUE_TABLE_MESSAGE", oracleConnection)
		oracleQueueAdmin.CreateQueue()
		oracleQueueAdmin.StartQueue()
		Dim oracleEnqueueQueue As New OracleQueue("MESSAGE_QUEUE", oracleConnection)
		Dim mes As New OracleObject("message", oracleConnection)
		mes.Item("nickname") = oracleConnection.UserId
		mes.Item("mestext") = "Hello, world!"
		oracleEnqueueQueue.Enqueue(mes)
		Dim oracleDequeueQueue As New OracleQueue("MESSAGE_QUEUE", oracleConnection)
		Dim msg As OracleQueueMessage = oracleDequeueQueue.Dequeue()
		If ((Not msg Is Nothing) AndAlso (Not msg.ObjectPayload Is Nothing)) Then
			Console.WriteLine(msg.ObjectPayload.Item("nickname"))
			Console.WriteLine(msg.ObjectPayload.Item("mestext"))
		End If
		oracleQueueAdmin.StopQueue()
		oracleQueueAdmin.DropQueue()
		oracleQueueTable.DropQueueTable()
		oracleConnection.Close()
    End Using
End Sub </code></example>
      <seealso cref="T:Devart.Data.Oracle.OracleQueueTable" />
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueTableOptions.#ctor()">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleQueueTableOptions" /> class. </summary>
      <overloads>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleQueueTableOptions" /> class. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueTableOptions.#ctor(System.String)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleQueueTableOptions" /> class. </summary>
      <param name="payloadTypeName">Type of the user data stored, either user-defined type or RAW. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueTableOptions.#ctor(System.String,System.String,Devart.Data.Oracle.OracleQueueSortOrder,System.Boolean,Devart.Data.Oracle.OracleQueueMessageGrouping,System.String,Devart.Data.Oracle.OracleQueueCompatible,System.Int32,System.Int32,System.Boolean)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleQueueTableOptions" /> class. </summary>
      <param name="payloadTypeName">Type of the user data stored, either user-defined type or RAW. </param>
      <param name="storageClause">The storage parameter included to the CREATE TABLE statement. </param>
      <param name="sortOrder">Specifies which properties are used to order messages in the queue. Default value is Ascending. </param>
      <param name="multipleConsumers">Specifies whether the queues created in the table can have multiple consumers. </param>
      <param name="messageGrouping">Specifies the message grouping behaviour. </param>
      <param name="comment">The user-defined description of the table. </param>
      <param name="compatible">The lowest database version with which the queue is compatible. </param>
      <param name="primaryInstance">The primary Oracle instance which will be used to operate the table. 0 to use any available instance. </param>
      <param name="secondaryInstance">The secondary Oracle instance which will be used to operate the table when the primary instance is unavailable. 0 to use any available instance. </param>
      <param name="secure">Specifies whether the queue table is used for secure queues. If <see langword="true" />, AQ agents must be associated explicitly with one or more database users who can perform queue operations, such as enqueue or dequeue. </param>
    </member>
    <member name="P:Devart.Data.Oracle.OracleQueueTableOptions.Comment">
      <summary>User-specified description of the queue table. </summary>
      <keywords>OracleQueueTableOptions.Comment property </keywords>
    </member>
    <member name="P:Devart.Data.Oracle.OracleQueueTableOptions.Compatible">
      <summary>The lowest database version with which the queue is compatible. Default OracleQueueCompatible.Default. </summary>
      <keywords>OracleQueueTableOptions.Compatible property </keywords>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueTableOptions.Equals(System.Object)">
      <summary>Compares two <see cref="T:Devart.Data.Oracle.OracleQueueTableOptions" /> objects to determine if they are equal. </summary>
      <keywords>OracleQueueTableOptions.Equals method </keywords>
      <param name="obj">The object to be compared. </param>
      <returns><see langword="true" /> if the compared <see cref="T:Devart.Data.Oracle.OracleQueueTableOptions" /> objects are identical; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueTableOptions.GetHashCode()">
      <summary>Returns hash code of the current <see cref="T:Devart.Data.Oracle.OracleQueueTableOptions" /> instance. </summary>
      <keywords>OracleQueueTableOptions.GetHashCode method </keywords>
      <returns>The hash code of the current <see cref="T:Devart.Data.Oracle.OracleQueueTableOptions" /> instance. </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleQueueTableOptions.MessageGrouping">
      <summary>Gets or sets message grouping behavior for queues created in the table. Default value is <see cref="T:Devart.Data.Oracle.OracleQueueMessageGrouping" />.None. </summary>
      <keywords>OracleQueueTableOptions.MessageGrouping property </keywords>
      <value>Message grouping behavior for queues created in the table. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleQueueTableOptions.MultipleConsumers">
      <summary>FALSE means queues created in the table can only have one consumer for each message. This is the default. 
TRUE means queues created in the table can have multiple consumers for each message. </summary>
      <keywords>OracleQueueTableOptions.MultipleConsumers property </keywords>
    </member>
    <member name="P:Devart.Data.Oracle.OracleQueueTableOptions.PayloadTypeName">
      <summary>Name of the queue payload type </summary>
      <keywords>OracleQueueTableOptions.PayloadTypeName property </keywords>
      <value>Can be RAW or some user-defined object type. To specify the payload type as an object type, you must define the object type in the database. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleQueueTableOptions.PrimaryInstance">
      <summary>The primary owner of the queue table. Queue monitor scheduling and propagation for the queues in the queue table are done in this instance. The default value for primary instance is 0, which means queue monitor scheduling and propagation will be done in any available instance. </summary>
      <keywords>OracleQueueTableOptions.PrimaryInstance property </keywords>
    </member>
    <member name="P:Devart.Data.Oracle.OracleQueueTableOptions.SecondaryInstance">
      <summary>The queue table fails over to the secondary instance if the primary instance is not available. The default value is 0, which means that the queue table will fail over to any available instance. </summary>
      <keywords>OracleQueueTableOptions.SecondaryInstance property </keywords>
    </member>
    <member name="P:Devart.Data.Oracle.OracleQueueTableOptions.Secure">
      <summary>Specifies whether the queue table is used for secure queues. Default value is <see langword="false" />. </summary>
      <remarks>This parameter must be set to <see langword="true" /> if you want to use the queue table for secure queues. Secure queues are queues for which AQ agents must be associated explicitly with one or more database users who can perform queue operations, such as enqueue and dequeue. The owner of a secure queue can perform all queue operations on the queue, but other users cannot perform queue operations on a secure queue, unless they are configured as secure queue users. </remarks>
      <keywords>OracleQueueTableOptions.Secure property </keywords>
      <value><see langword="true" /> if the queue table can be used for secure queues; otherwise, <see langword="false" />. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleQueueTableOptions.SortOrder">
      <summary>Specifies which parameter is used to order messages in the queue. The queue will be sorted by this parameter in the ascending order. Default value is <see cref="T:Devart.Data.Oracle.OracleQueueSortOrder" />.EnqueueTime. </summary>
      <keywords>OracleQueueTableOptions.SortOrder property </keywords>
      <value>One of the <see cref="T:Devart.Data.Oracle.OracleQueueSortOrder" /> values. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleQueueTableOptions.StorageClause">
      <summary>Storage parameter. </summary>
      <remarks>The storage parameter is included in the CREATE TABLE statement when the queue table is created. The StorageClause property can take any text that can be used in a standard CREATE TABLE storage clause argument.
If a tablespace is not specified here, then the queue table and all its related objects are created in the default user tablespace. If a tablespace is specified here, then the queue table and all its related objects are created in the tablespace specified in the storage clause. </remarks>
      <keywords>OracleQueueTableOptions.StorageClause property </keywords>
    </member>
    <member name="M:Devart.Data.Oracle.OracleQueueTableOptions.ToString()">
      <summary>Gets the object's type. </summary>
      <keywords>OracleQueueTableOptions.ToString method </keywords>
      <returns>Returns "OracleQueueTableOptions". </returns>
    </member>
    <member name="T:Devart.Data.Oracle.OracleQueueType">
      <summary>Specifies whether the queue is normal, service or nonpersistent with RAW message payload. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleQueueType.Exception">
      <summary>Exception queue, which is the repository for all expired and non-serviceable messages. Messages cannot be directly enqueued to the exception queue. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleQueueType.NonPersistentMultiConsumers">
      <summary>Nonpersistent queue, which is not stored in a database table. Multiconsumer variant. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleQueueType.NonPersistentSingleConsumers">
      <summary>Nonpersistent queue, which is not stored in a database table. Single consumer variant. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleQueueType.Normal">
      <summary>Normal queue. </summary>
    </member>
    <member name="T:Devart.Data.Oracle.OracleQueueVisibility">
      <summary>Specifies the visibility options for an enqueue operation. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleQueueVisibility.Immediate">
      <summary>The enqueue operation is not part of the current transaction, but an autonomous transaction which commits at the end of the operation. This is the only value allowed when enqueuing to a non-persistent queue. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.OracleQueueVisibility.OnCommit">
      <summary>The enqueue is part of the current transaction. The operation is complete when the transaction commits. </summary>
    </member>
    <member name="T:Devart.Data.Oracle.OracleRef">
      <summary>Represents a reference to the object (REF). </summary>
      <remarks>The <see cref="T:Devart.Data.Oracle.OracleRef" /> class is designed to work with references to objects (REF) and get object value represented by an <see cref="T:Devart.Data.Oracle.NativeOracleObject" /> or an <see cref="T:Devart.Data.Oracle.OracleObject" />. </remarks>
      <example><para>This example demonstrates how to retrieve <see cref="T:Devart.Data.Oracle.OracleRef" /> object from server and display its elements. To create required type and table and fill it with data you can use the following script:
<pre>CREATE OR REPLACE TYPE TCar AS OBJECT (
  Model VARCHAR2(20),
  Color VARCHAR2(20),
  Year NUMBER
);

CREATE TABLE CarTable of TCar;  

INSERT INTO CarTable
  (Model, Color, Year)
VALUES
  ('Mersedes Bens','Black',1999);
INSERT INTO CarTable
  (Model, Color, Year)
VALUES
  ('Ford Taurus','Blue',1998);  
INSERT INTO CarTable
  (Model, Color, Year)
VALUES
  ('Renault Cleo','Red',2003);
INSERT INTO CarTable
  (Model, Color, Year)
VALUES
  ('BMW 500','Black',2004);
</pre>
</para> <code lang="csharp">OracleConnection connection = new OracleConnection("User Id=scott;Password=tiger;Data Source=ora");
OracleCommand command = new OracleCommand("SELECT REF(car) FROM CarTable car", connection);
connection.Open();
OracleDataReader dataReader = command.ExecuteReader();
try{
  while (dataReader.Read()) {
    OracleRef oraRef = dataReader.GetOracleRef(0);
    if (!oraRef.IsNull) {
      OracleObject oraObj = (OracleObject)oraRef.GetObject();
      Console.WriteLine(oraObj["Model"]);
      Console.WriteLine("\tColor: " + oraObj["Color"]);
      Console.WriteLine("\tYear: " + oraObj["Year"].ToString());
    }
  }
}
catch (Devart.Data.Oracle.OracleException ex) {
  Console.WriteLine(ex.Message);
}
finally{
  dataReader.Close();
  connection.Close();
} </code><code lang="vb">Dim connection As New OracleConnection("User Id=scott;Password=tiger;Data Source=ora")
Dim command As New OracleCommand("SELECT REF(car) FROM CarTable car", connection)
connection.Open()
Dim dataReader As OracleDataReader = command.ExecuteReader()
Try
  While dataReader.Read()
    Dim oraRef As OracleRef = dataReader.GetOracleRef(0)
    If Not oraRef.IsNull Then
      Dim oraObj As OracleObject = oraRef.GetObject()
      Console.WriteLine(oraObj("Model"))
      Console.WriteLine(Chr(9) &amp; "Color: " &amp; oraObj("Model"))
      Console.WriteLine(Chr(9) &amp; "Year: " &amp; oraObj("Year"))
    End If
  End While
Catch ex As Devart.Data.Oracle.OracleException
  Console.WriteLine(ex.Message)
Finally
  dataReader.Close()
  connection.Close()
End Try </code></example>
    </member>
    <member name="M:Devart.Data.Oracle.OracleRef.#ctor(System.String)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleRef" /> class. </summary>
      <param name="value">A hexadecimal string representation of the reference to an Oracle object. </param>
      <overloads>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleRef" /> class. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleRef.#ctor(System.String,Devart.Data.Oracle.OracleType)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleRef" /> class. </summary>
      <param name="value">A hexadecimal string representation of the reference to an Oracle object. </param>
      <param name="refType">A type of an Oracle object. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleRef.Clear()">
      <summary>Removes the reference to the object. </summary>
      <remarks>Calling <see cref="M:Devart.Data.Oracle.OracleRef.Clear()" /> function sets object to null. </remarks>
      <keywords>OracleRef.Clear method </keywords>
    </member>
    <member name="P:Devart.Data.Oracle.OracleRef.Connection">
      <summary>Gets the <see cref="T:Devart.Data.Oracle.OracleConnection" /> used by this instance of the <see cref="T:Devart.Data.Oracle.OracleRef" />. </summary>
      <remarks>The connection can be set via the <see cref="M:Devart.Data.Oracle.OracleRef.Pin(Devart.Data.Oracle.OracleConnection)" /> overload. Also you can get a ready <see cref="T:Devart.Data.Oracle.OracleRef" /> object via the <see cref="M:Devart.Data.Oracle.OracleDataReader.GetOracleRef(System.Int32)" /> method. </remarks>
      <keywords>OracleRef.Connection property </keywords>
      <value>The connection to a data source. The default value is a null reference. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleRef.GetNativeObject()">
      <summary>Gets pinned <see cref="T:Devart.Data.Oracle.NativeOracleObject" /> object associated with the specified reference. </summary>
      <remarks>To get the object use <see cref="M:Devart.Data.Oracle.NativeOracleObjectBase.Flush" /> and <see cref="M:Devart.Data.Oracle.NativeOracleObjectBase.Refresh" /> methods. </remarks>
      <keywords>OracleRef.GetNativeObject method </keywords>
      <returns>An <see cref="T:Devart.Data.Oracle.NativeOracleObjectBase" /> associated with the specified reference. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleRef.GetObject()">
      <summary>Gets pinned <see cref="T:Devart.Data.Oracle.OracleObject" /> object associated with the specified reference. </summary>
      <remarks>To get the object use <see cref="M:Devart.Data.Oracle.NativeOracleObjectBase.Flush" /> and <see cref="M:Devart.Data.Oracle.NativeOracleObjectBase.Refresh" /> methods. </remarks>
      <keywords>OracleRef.GetObject method </keywords>
      <returns>An <see cref="T:Devart.Data.Oracle.OracleObject" /> associated with the specified reference. </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleRef.IsNull">
      <summary>Gets a value indicating whether the reference to the object is null. </summary>
      <keywords>OracleRef.IsNull property </keywords>
      <value><see langword="true" /> if reference to the object is null; otherwise, <see langword="false" />. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleRef.IsPinned">
      <summary>Gets a value indicating whether the object has been received through the specified reference. </summary>
      <keywords>OracleRef.IsPinned property </keywords>
      <value><see langword="true" /> if the object is received by the specified reference; otherwise, <see langword="false" />. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleRef.Pin()">
      <summary>Creates an object associated with the specified reference. </summary>
      <remarks>Use <see cref="M:Devart.Data.Oracle.OracleRef.GetObject" /> method to retrieve object value. </remarks>
      <keywords>OracleRef.Pin method </keywords>
      <overloads>Creates an object associated with the specified reference. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleRef.Pin(Devart.Data.Oracle.OracleConnection)">
      <summary>Creates an object associated with the specified reference. </summary>
      <remarks>Use <see cref="M:Devart.Data.Oracle.OracleRef.GetObject" /> method to retrieve the object value. </remarks>
      <keywords>OracleRef.Pin method </keywords>
      <param name="connection">A connection to a data source. </param>
    </member>
    <member name="P:Devart.Data.Oracle.OracleRef.RefType">
      <summary>Gets type of the object that <see cref="T:Devart.Data.Oracle.OracleRef" /> is referred to. </summary>
      <keywords>OracleRef.RefType property </keywords>
      <value>The <see cref="T:Devart.Data.Oracle.OracleType" /> of the object that <see cref="T:Devart.Data.Oracle.OracleRef" /> is referred to. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleRef.ToString()">
      <summary>Converts a REF to a hexadecimal string. </summary>
      <keywords>OracleRef.ToString method </keywords>
      <returns>A hexadecimal string. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleRef.Unpin()">
      <summary>Removes an object associated with the specified reference. </summary>
      <keywords>OracleRef.Unpin method </keywords>
    </member>
    <member name="P:Devart.Data.Oracle.OracleRef.Value">
      <summary>Gets or sets a hexadecimal string representation of the reference to an Oracle object. </summary>
      <keywords>OracleRef.Value property </keywords>
      <value>Hexadecimal string representation of the reference to an Oracle object. </value>
    </member>
    <member name="T:Devart.Data.Oracle.OracleRefLocal">
      <summary>Represents a local (disconnected) Oracle REFs. </summary>
      <remarks>The local REFs are shown as hex values. </remarks>
    </member>
    <member name="M:Devart.Data.Oracle.OracleRefLocal.#ctor(Devart.Data.Oracle.OracleType)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleRefLocal" /> class. </summary>
      <param name="refType"> </param>
    </member>
    <member name="T:Devart.Data.Oracle.OracleRowUpdatedEventArgs">
      <summary>Provides data for the <see cref="E:Devart.Data.Oracle.OracleDataAdapter.RowUpdated" /> event. </summary>
      <remarks>The <see cref="E:Devart.Data.Oracle.OracleDataAdapter.RowUpdated" /> event is raised when an update to a row is completed.
<para>When using the <see cref="M:System.Data.Common.DbDataAdapter.Update()" /> method, there are two events that occur for each data row updated: <see cref="E:Devart.Data.Oracle.OracleDataAdapter.RowUpdating" /> and <see cref="E:Devart.Data.Oracle.OracleDataAdapter.RowUpdated" />. The order of execution for an <see cref="M:System.Data.Common.DbDataAdapter.Update()" /> is as follows:</para><list type="number"><item><description>The values in the <see cref="T:System.Data.DataRow" /> are moved to the parameter values.</description></item><item><description>The <see cref="E:Devart.Data.Oracle.OracleDataAdapter.RowUpdating" /> event is raised.</description></item><item><description>The command executes.</description></item><item><description>If the <see cref="T:System.Data.UpdateRowSource" /> enumeration is set to <see cref="T:System.Data.UpdateRowSource.FirstReturnedRecordS" />, the first returned result is placed in the <see cref="T:System.Data.DataRow" />.</description></item><item><description>If there are output parameters, they are placed in the <see cref="T:System.Data.DataRow" />.</description></item><item><description>The <see cref="E:Devart.Data.Oracle.OracleDataAdapter.RowUpdated" /> event is raised.</description></item><item><description><see cref="M:System.Data.DataRow.AcceptChanges" /> is called.</description></item></list> </remarks>
    </member>
    <member name="M:Devart.Data.Oracle.OracleRowUpdatedEventArgs.#ctor(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleRowUpdatedEventArgs" /> class. </summary>
      <param name="row">The <see cref="T:System.Data.DataRow" /> sent through an update operation. </param>
      <param name="command">The <see cref="T:Devart.Data.Oracle.OracleCommand" /> executed when <see cref="M:System.Data.Common.DbDataAdapter.Update()" /> is called. </param>
      <param name="statementType">One of the <see cref="T:System.Data.StatementType" /> values that specifies the type of query executed. </param>
      <param name="tableMapping">The <see cref="T:System.Data.Common.DataTableMapping" /> sent through <see cref="M:System.Data.Common.DbDataAdapter.Update()" />. </param>
    </member>
    <member name="P:Devart.Data.Oracle.OracleRowUpdatedEventArgs.Command">
      <summary>Gets the <see cref="T:Devart.Data.Oracle.OracleCommand" /> executed when <see cref="M:System.Data.Common.DbDataAdapter.Update()" /> is called. </summary>
      <keywords>OracleRowUpdatedEventArgs.Command property </keywords>
      <value>The <see cref="T:Devart.Data.Oracle.OracleCommand" /> to execute when <see cref="M:System.Data.Common.DbDataAdapter.Update()" /> is called. </value>
    </member>
    <member name="T:Devart.Data.Oracle.OracleRowUpdatedEventHandler">
      <summary>Represents the method that will handle the <see cref="E:Devart.Data.Oracle.OracleDataAdapter.RowUpdated" /> event of an <see cref="T:Devart.Data.Oracle.OracleDataAdapter" />. </summary>
      <remarks>The handler is not required to perform any action, and your code should avoid generating exceptions or allowing exceptions to propagate to the calling method. Any exceptions that do reach the caller are ignored. When you create an <see cref="T:Devart.Data.Oracle.OracleRowUpdatedEventArgs" /> delegate, you identify the method that will handle the event. To associate the event with your event handler, add an instance of the delegate to the event. The event handler is called whenever the event occurs, unless you remove the delegate. For more information about event handler delegates, see "Events and Delegates" in the .NET Framework SDK documentation. </remarks>
      <keywords>OracleRowUpdatedEventHandler delegate </keywords>
      <param name="sender">The source of the event. </param>
      <param name="e">The <see cref="T:Devart.Data.Oracle.OracleRowUpdatedEventArgs" /> object that contains the event data. </param>
    </member>
    <member name="T:Devart.Data.Oracle.OracleRowUpdatingEventArgs">
      <summary>Provides data for the <see cref="E:Devart.Data.Oracle.OracleDataAdapter.RowUpdating" /> event. This class cannot be inherited. </summary>
      <remarks>The <see cref="E:Devart.Data.Oracle.OracleDataAdapter.RowUpdating" /> event is raised before an update to a row.
<para>When using the <see cref="M:System.Data.Common.DbDataAdapter.Update()" /> method, there are two events that occur for each data row updated: <see cref="E:Devart.Data.Oracle.OracleDataAdapter.RowUpdating" /> and <see cref="E:Devart.Data.Oracle.OracleDataAdapter.RowUpdated" />. The order of execution for an update operation is as follows: </para><list type="number"><item><description>The values in the <see cref="T:System.Data.DataRow" /> are moved to the parameter values.</description></item><item><description>The <see cref="E:Devart.Data.Oracle.OracleDataAdapter.RowUpdating" /> event is raised.</description></item><item><description>The command executes.</description></item><item><description>If the <see cref="T:System.Data.UpdateRowSource" /> enumeration is set to <see cref="T:System.Data.UpdateRowSource.FirstReturnedRecordS" />, the first returned result is placed in the <see cref="T:System.Data.DataRow" />.</description></item><item><description>If there are output parameters, they are placed in the <see cref="T:System.Data.DataRow" />.</description></item><item><description>The <see cref="E:Devart.Data.Oracle.OracleDataAdapter.RowUpdated" /> event is raised.</description></item><item><description><see cref="M:System.Data.DataRow.AcceptChanges" /> is called.</description></item></list> </remarks>
    </member>
    <member name="M:Devart.Data.Oracle.OracleRowUpdatingEventArgs.#ctor(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleRowUpdatingEventArgs" /> class. </summary>
      <param name="row">The <see cref="T:System.Data.DataRow" /> to update. </param>
      <param name="command">The <see cref="T:Devart.Data.Oracle.OracleCommand" /> to execute during <see cref="M:System.Data.Common.DbDataAdapter.Update()" /> is called. </param>
      <param name="statementType">One of the <see cref="T:System.Data.StatementType" /> values that specifies the type of query executed. </param>
      <param name="tableMapping">The <see cref="T:System.Data.Common.DataTableMapping" /> sent through <see cref="M:System.Data.Common.DbDataAdapter.Update()" />. </param>
    </member>
    <member name="P:Devart.Data.Oracle.OracleRowUpdatingEventArgs.Command">
      <summary>Gets or sets the <see cref="T:Devart.Data.Oracle.OracleCommand" /> to execute when <see cref="M:System.Data.Common.DbDataAdapter.Update()" /> is called. </summary>
      <keywords>OracleRowUpdatingEventArgs.Command property </keywords>
      <value>The <see cref="T:Devart.Data.Oracle.OracleCommand" /> to execute when <see cref="M:System.Data.Common.DbDataAdapter.Update()" /> is called. </value>
    </member>
    <member name="T:Devart.Data.Oracle.OracleRowUpdatingEventHandler">
      <summary>Represents the method that will handle the <see cref="E:Devart.Data.Oracle.OracleDataAdapter.RowUpdating" /> event of an <see cref="T:Devart.Data.Oracle.OracleDataAdapter" />. </summary>
      <remarks>The handler is not required to perform any action, and your code should avoid generating exceptions or allowing exceptions to propagate to the calling method. Any exceptions that do reach the caller are ignored.
<para>Use the handler to process <see cref="T:Devart.Data.Oracle.OracleRowUpdatingEventArgs" /> and to specify how updates are processed. For example, you may opt to skip the update of the current row or skip the update of all remaining rows. Note that the rows are updated in the order that they were received from the database.</para><para>When you create an <see cref="T:Devart.Data.Oracle.OracleRowUpdatingEventArgs" /> delegate, you identify the method that will handle the event. To associate the event with your event handler, add an instance of the delegate to the event. The event handler is called whenever the event occurs, unless you remove the delegate. For more information about event handler delegates, see "Events and Delegates" in the .NET Framework SDK documentation.</para> </remarks>
      <keywords>OracleRowUpdatingEventHandler delegate </keywords>
      <param name="sender">The source of the event. </param>
      <param name="e">The <see cref="T:Devart.Data.Oracle.OracleRowUpdatingEventArgs" /> object that contains the event data. </param>
    </member>
    <member name="T:Devart.Data.Oracle.OracleScript">
      <summary>Serves to execute series of SQL statements separated by special symbols, like SQL*Plus scripts. </summary>
      <remarks>Often it is necessary to execute several SQL statements one by one. Sometimes it can be performed by anonymous PL/SQL block. But unfortunately it doesn't work always. For example DDL statements cannot be used in PL/SQL. Another way is using a lot of components such as <see cref="T:Devart.Data.Oracle.OracleCommand" />. Usually it isn't a good solution. With only one <see cref="T:Devart.Data.Oracle.OracleScript" /> component you can execute several SQL statements as one. This sequence of statements is named script. To separate single statements use semicolon (;) or slash (/) symbols and for PL/SQL only slash. Note: Slash must be the first character in the line. </remarks>
      <example>Following example executes a script and handles script errors. <code lang="csharp">public void ExecuteScript(string sql, OracleConnection conn) {
	OracleScript script = new OracleScript(sql, conn);
	script.Error += new ScriptErrorEventHandler(this.OnError);
	script.Execute();
}

public void OnError(object sender, Devart.Common.ScriptErrorEventArgs e) {
	Console.WriteLine(e.Exception.Message);
	e.Ignore = true;
} </code><code lang="vb">Public Sub ExecuteScript(ByVal Sql As String, ByVal conn As OracleConnection)
	Dim Script As OracleScript = New OracleScript(Sql, conn)
	AddHandler Script.Error, AddressOf OnError
	Script.Execute()
End Sub

Public Sub OnError(ByVal Sender As Object, ByVal e As Devart.Common.ScriptErrorEventArgs)
	Console.WriteLine(e.Exception.Message)
	e.Ignore = True
End Sub </code></example>
      <seealso cref="T:Devart.Data.Oracle.OracleCommand" />
    </member>
    <member name="M:Devart.Data.Oracle.OracleScript.#ctor()">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleScript" /> class. </summary>
      <remarks>The base constructor initializes all fields to their default values. The following table shows initial values set to the read/write properties when a new instance of <see cref="T:Devart.Data.Oracle.OracleScript" /> is created.
<list type="table"><listheader><term>Properties</term><description>Initial Value</description></listheader><item><term><see cref="P:Devart.Data.Oracle.OracleScript.Connection" /></term><description>null</description></item><item><term><see cref="P:Devart.Common.DbScript.Name" /></term><description>name of the component at design-time</description></item><item><term><see cref="P:Devart.Data.Oracle.OracleScript.ScriptText" /></term><description>an empty string ("")</description></item></list> </remarks>
      <overloads>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleScript" /> class. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleScript.#ctor(System.IO.Stream)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleScript" /> class with a <b>Stream</b> object to get SQL statements from. </summary>
      <param name="stream">A <b>Stream</b> object that contains the script text. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleScript.#ctor(System.IO.Stream,Devart.Data.Oracle.OracleConnection)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleScript" /> class with a <b>Stream</b> object to get SQL statements from and a <see cref="T:Devart.Data.Oracle.OracleConnection" /> object. </summary>
      <param name="stream">A <b>Stream</b> object that contains the script text. </param>
      <param name="connection">A <see cref="T:Devart.Data.Oracle.OracleConnection" /> object that represents the connection to a database. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleScript.#ctor(System.IO.TextReader)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleScript" /> class with a <b>TextReader</b> object to get SQL statements from. </summary>
      <param name="reader">A <b>TextReader</b> object that contains the script text. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleScript.#ctor(System.IO.TextReader,Devart.Data.Oracle.OracleConnection)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleScript" /> class with a <b>TextReader</b> object to get SQL statements from and a <see cref="T:Devart.Data.Oracle.OracleConnection" /> object. </summary>
      <param name="reader">A <b>TextReader</b> object that contains the script text. </param>
      <param name="connection">A <see cref="T:Devart.Data.Oracle.OracleConnection" /> object that represents the connection to a database. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleScript.#ctor(System.String)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleScript" /> class with the text of the query. </summary>
      <example>The following example creates an <see cref="T:Devart.Data.Oracle.OracleScript" /> and sets some of its properties. <code lang="csharp">public void CreateScript(OracleConnection conn)
{
  ...
  OracleScript script = new OracleScript(scriptText);
  script.Connection = conn;
  ...
} </code><code lang="vb">Public Sub CreateOraLoaderColumn(scriptText as string, conn as OracleConnection)
  ...
  Dim script as OracleScript = new OracleScript(scriptText)
  script.Connection = conn
  ...
End Sub 'CreateOraLoaderColumn </code></example>
      <param name="scriptText">The text of the query. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleScript.#ctor(System.String,Devart.Data.Oracle.OracleConnection)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleScript" /> class  with the text of the query and a <see cref="T:Devart.Data.Oracle.OracleConnection" /> object. </summary>
      <param name="scriptText">The text of the query. </param>
      <param name="connection">A <see cref="T:Devart.Data.Oracle.OracleConnection" /> object that represents the connection to a database. </param>
    </member>
    <member name="P:Devart.Data.Oracle.OracleScript.Connection">
      <summary>Gets or sets the <see cref="T:Devart.Data.Oracle.OracleConnection" /> used by this instance of the <see cref="T:Devart.Data.Oracle.OracleScript" />. </summary>
      <remarks>You must set <see cref="P:Devart.Data.Oracle.OracleScript.Connection" /> property before the script execution.
<para>This property supports the <a href="InterForm.html">InterForm</a> technology.</para> </remarks>
      <seealso cref="T:Devart.Data.Oracle.OracleConnection" />
      <keywords>OracleScript.Connection property </keywords>
      <value>The connection to a data source. The default value is a null reference. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleScript.ExecuteNext(Devart.Data.Oracle.OracleDataReader@)">
      <summary>Executes the next statement from the script. </summary>
      <remarks><para>Use the <see cref="M:Devart.Data.Oracle.OracleScript.ExecuteNext(Devart.Data.Oracle.OracleDataReader@)" /> method to execute the statements from the script one by one. Text of the script should be specified by <see cref="P:Devart.Data.Oracle.OracleScript.ScriptText" /> property.</para>
<para>After the method has executed, the <see cref="E:Devart.Common.DbScript.Progress" /> event fires, where you can obtain statement text and process query results. If the statement has produced an error, event <see cref="E:Devart.Common.DbScript.Error" /> fires.</para>
<para>To restart execution from the beginning of the script call <see cref="M:Devart.Common.DbScript.Reset" /> method. When <see cref="P:Devart.Data.Oracle.OracleScript.ScriptText" /> property is modified, <see cref="T:Devart.Data.Oracle.OracleScript" /> automatically positions on the first statement.</para> </remarks>
      <keywords>OracleScript.ExecuteNext method </keywords>
      <param name="reader">An <see cref="T:Devart.Data.Oracle.OracleDataReader" /> to store result set. </param>
      <returns><see langword="true" /> if there are more statements to execute; otherwise, <see langword="false" />. </returns>
      <overloads>Executes the next statement from the script. </overloads>
    </member>
    <member name="P:Devart.Data.Oracle.OracleScript.ScriptText">
      <summary>Gets or sets text of the script. </summary>
      <remarks>Use <see cref="P:Devart.Data.Oracle.OracleScript.ScriptText" /> property to specify text of the script. </remarks>
      <keywords>OracleScript.ScriptText property </keywords>
      <value>Script text. The default value is an empty string (""). </value>
    </member>
    <member name="E:Devart.Data.Oracle.OracleScript.SqlStatementExecute">
      <summary>Occurs when a SQL statement within script is about to execute. </summary>
      <seealso cref="T:Devart.Data.Oracle.SqlStatementExecuteEventHandler" />
      <seealso cref="T:Devart.Data.Oracle.SqlStatementExecuteEventArgs" />
      <keywords>OracleScript.SqlStatementExecute event </keywords>
    </member>
    <member name="P:Devart.Data.Oracle.OracleScript.Statements">
      <summary>Gets the collection of statements that make up the script. </summary>
      <remarks>Use <see cref="P:Devart.Data.Oracle.OracleScript.Statements" /> to obtain <see cref="T:Devart.Data.Oracle.OracleSqlStatementCollection" />, which allows accessing individual statements of the script and executing them manually. The collection is read-only, so you can not modify it in any way. It is also bound to the originating <see cref="T:Devart.Data.Oracle.OracleScript" /> object, which means that if you have altered <see cref="P:Devart.Data.Oracle.OracleScript.ScriptText" />, previously obtained collection will be cleared. </remarks>
      <keywords>OracleScript.Statements property </keywords>
      <value>Collection of statements. </value>
    </member>
    <member name="T:Devart.Data.Oracle.OracleSelectStatement">
      <summary>Represents a SELECT statement. </summary>
      <example>The following example demonstrates how to use the <see cref="T:Devart.Data.Oracle.OracleSelectStatement" /> class. <code lang="csharp">  OracleSelectStatement stmt = new OracleSelectStatement();

  stmt.Columns.Add(new SelectColumn("test", "td", "dname", "Department"));
  stmt.Columns.Add(new SelectColumn("", "td", "loc", "Location"));
  stmt.Columns.Add(new SelectColumn("", "te", "ename", "Name"));

  stmt.Tables.Add(new SelectTable("test", "dept", "td"));
  stmt.Tables.Add(new SelectTable("", "emp", "te"));

  stmt.GroupBy.Add(new SelectColumn("", "te", "empno", ""));
  stmt.OrderBy.Add(new SelectColumn("", "te", "ename", "")); </code><code lang="vb">   Dim stmt As New OracleSelectStatement

   stmt.Columns.Add(New SelectColumn("test", "td", "dname", "Department"))
   stmt.Columns.Add(New SelectColumn("", "td", "loc", "Location"))
   stmt.Columns.Add(New SelectColumn("", "te", "ename", "Name"))

   stmt.Tables.Add(New SelectTable("test", "dept", "td"))
   stmt.Tables.Add(New SelectTable("", "emp", "te"))

   stmt.GroupBy.Add(New SelectColumn("", "te", "empno", ""))
   stmt.OrderBy.Add(New SelectColumn("", "te", "ename", "")) </code></example>
    </member>
    <member name="M:Devart.Data.Oracle.OracleSelectStatement.#ctor()">
      <summary>Creates a new instance of the <see cref="T:Devart.Data.Oracle.OracleSelectStatement" /> class. </summary>
      <example>The following example demonstrates how to use the <see cref="T:Devart.Data.Oracle.OracleSelectStatement" /> constructor. <code lang="csharp">OracleSelectStatement stmt = new OracleSelectStatement();
stmt.Columns.Add(new SelectColumn("JOB"));
stmt.Tables.Add(new SelectTable("emp"));

stmt.Distinct = true;

//select distinct JOB from emp
string queryText = stmt.ToString(); </code><code lang="vb">Dim stmt As New OracleSelectStatement
stmt.Columns.Add(New SelectColumn("JOB"))
stmt.Tables.Add(New SelectTable("emp"))
stmt.Distinct = True

'select distinct JOB from emp
Dim queryText As String = stmt.ToString </code></example>
    </member>
    <member name="M:Devart.Data.Oracle.OracleSelectStatement.Clear()">
      <summary>Clears all parts of the <see cref="T:Devart.Data.Oracle.OracleSelectStatement" />. </summary>
      <remarks>Call <see cref="T:Devart.Data.Oracle.OracleSelectStatement" /> to empty all properties of the <see cref="T:Devart.Data.Oracle.OracleSelectStatement" /> object. </remarks>
      <example>The following example demonstrates how to use the <see cref="M:Devart.Data.Oracle.OracleSelectStatement.Clear()" /> method. <code lang="csharp">private void RefreshStatement(OracleSelectStatement stmt)
{
  stmt.Clear();
  stmt.Columns.Add(new SelectColumn("ENAME"));
  stmt.Columns.Add(new SelectColumn("", "emp", "JOB", "j"));
  stmt.Columns.Add(new SelectColumn("test", "", "emp", "HIREDATE", "hd"));

  stmt.Tables.Add(new SelectTable("emp"));

  //select ENAME,emp.JOB j,Test.emp.HIREDATE hd from emp
  string queryText = stmt.ToString();
} </code><code lang="vb">Private Sub RefreshStatement(ByVal stmt As OracleSelectStatement)
  stmt.Clear()
  stmt.Columns.Add(New SelectColumn("ENAME"))
  stmt.Columns.Add(New SelectColumn("", "emp", "JOB", "j"))
  stmt.Columns.Add(New SelectColumn("test", "", "emp", "HIREDATE", "hd"))
  stmt.Tables.Add(New SelectTable("emp"))
  'select ENAME,emp.JOB j,Test.emp.HIREDATE hd from emp
  Dim queryText As String = stmt.ToString
End Sub </code></example>
      <keywords>OracleSelectStatement.Clear method </keywords>
    </member>
    <member name="M:Devart.Data.Oracle.OracleSelectStatement.Parse(System.String,Devart.Common.ParserBehavior)">
      <summary>Converts the specified SELECT statement to a <see cref="T:Devart.Data.Oracle.OracleSelectStatement" /> object. </summary>
      <seealso cref="M:Devart.Data.Oracle.OracleSelectStatement.TryParse(System.String,Devart.Common.ParserBehavior,Devart.Data.Oracle.OracleSelectStatement@)" />
      <keywords>OracleSelectStatement.Parse method </keywords>
      <param name="text">The statement to parse. </param>
      <param name="behavior">One of the <see cref="T:Devart.Common.ParserBehavior" /> values. Determines what parts of the statement to analyze. </param>
      <returns>A <see cref="T:Devart.Data.Oracle.OracleSelectStatement" /> object that represents the specified SELECT statement. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleSelectStatement.TryParse(System.String,Devart.Common.ParserBehavior,Devart.Data.Oracle.OracleSelectStatement@)">
      <summary>Tries to convert the specified SELECT statement to a <see cref="T:Devart.Data.Oracle.OracleSelectStatement" /> object. </summary>
      <seealso cref="M:Devart.Data.Oracle.OracleSelectStatement.Parse(System.String,Devart.Common.ParserBehavior)" />
      <keywords>OracleSelectStatement.TryParse method </keywords>
      <param name="text">The statement to parse. </param>
      <param name="behavior">One of the <see cref="T:Devart.Common.ParserBehavior" /> values. Determines what parts of the statement to analyze. </param>
      <param name="statement">A <see cref="T:Devart.Data.Oracle.OracleSelectStatement" /> object that represents the specified SELECT statement. </param>
      <returns>
        <see langword="true" /> if the conversion was successful; otherwise, <see langword="false" /> </returns>
    </member>
    <member name="T:Devart.Data.Oracle.OracleSqlStatement">
      <summary>Represents a SQL statement. </summary>
      <example>The following example demonstrates how to use the <see cref="T:Devart.Data.Oracle.OracleSqlStatement" /> class. <code lang="csharp">string script =
	"DROP TABLE DEPT;" +
	"CREATE TABLE DEPT (" +
	"  DEPTNO NUMBER(38) NOT NULL," +
	"  DNAME VARCHAR2(14)," +
	"  LOC VARCHAR2(13)" +
	");" +
	"INSERT INTO DEPT VALUES (10,'ACCOUNTING','NEW YORK');" +
	"INSERT INTO DEPT VALUES (20,'RESEARCH','DALLAS');" +
	"INSERT INTO DEPT VALUES (30,'SALES','CHICAGO');" +
	"INSERT INTO DEPT VALUES (40,'OPERATIONS','BOSTON');" +
	"SELECT * FROM DEPT";
OracleConnection myConn = new OracleConnection("User Id=Scott;Password=tiger;Data Source=Ora1110");

OracleScript myScript = new OracleScript(script, myConn);
OracleSqlStatementCollection myColl = myScript.Statements;
IDataReader myReader;
myConn.Open();
foreach (OracleSqlStatement myStatement in myColl)
{
    Console.WriteLine(myStatement.Text);
    try
    {
        myReader = myStatement.Execute();
        Console.WriteLine("  Records affected " + myReader.RecordsAffected);
        while (myReader.Read())
        {
            Console.WriteLine(myReader.GetString(0));
        }
        myReader.Close();
        Console.WriteLine();
     }
     catch
     {
         Console.WriteLine("  Failed");
     }
}
myConn.Close(); </code><code lang="vb">Dim script As String = _
	"DROP TABLE DEPT;" &amp; _
	"CREATE TABLE DEPT (" + _
	"  DEPTNO NUMBER(38) NOT NULL," &amp; _
	"  DNAME VARCHAR2(14)," &amp; _
	"  LOC VARCHAR2(13)" &amp; _
	");" &amp; _
	"INSERT INTO DEPT VALUES (10,'ACCOUNTING','NEW YORK');" &amp; _
	"INSERT INTO DEPT VALUES (20,'RESEARCH','DALLAS');" &amp; _
	"INSERT INTO DEPT VALUES (30,'SALES','CHICAGO');" &amp; _
	"INSERT INTO DEPT VALUES (40,'OPERATIONS','BOSTON');" &amp; _
	"SELECT * FROM DEPT";
Dim myConn As New OracleConnection("User Id=Scott;Password=tiger;Data Source=Ora1110")

Dim myScript As New OracleScript(script, myConn)
Dim myColl As OracleSqlStatementCollection = myScript.Statements
myConn.Open
Dim myStatement As OracleSqlStatement
For Each myStatement In myColl
    Console.WriteLine(myStatement.Text)
    Try 
        Dim myReader As IDataReader = myStatement.Execute
        Console.WriteLine(("  Records affected " &amp; myReader.RecordsAffected))
        Do While myReader.Read
            Console.WriteLine(myReader.GetString(0))
        Loop
        myReader.Close
        Console.WriteLine
    Catch obj1 As Object
        Console.WriteLine("  Failed")
    End Try
Next
myConn.Close </code></example>
    </member>
    <member name="M:Devart.Data.Oracle.OracleSqlStatement.Execute()">
      <summary>Executes the statement. </summary>
      <keywords>OracleSqlStatement.Execute method </keywords>
      <returns>An <see cref="T:Devart.Data.Oracle.OracleDataReader" /> to store result set. </returns>
      <overloads>Executes the statement. </overloads>
    </member>
    <member name="P:Devart.Data.Oracle.OracleSqlStatement.SqlPlusStatementType">
      <summary>Gets type of SQL*PLUS statement. </summary>
      <keywords>OracleSqlStatement.SqlPlusStatementType property </keywords>
      <value>One of the <see cref="T:Devart.Data.Oracle.SqlPlusStatementType" /> values. </value>
    </member>
    <member name="T:Devart.Data.Oracle.OracleSqlStatementCollection">
      <summary>Represents a list of <see cref="T:Devart.Data.Oracle.OracleSqlStatement" /> objects. </summary>
    </member>
    <member name="M:Devart.Data.Oracle.OracleSqlStatementCollection.#ctor()">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleSqlStatementCollection" /> class. </summary>
    </member>
    <member name="M:Devart.Data.Oracle.OracleSqlStatementCollection.Add(Devart.Data.Oracle.OracleSqlStatement)">
      <summary>Adds an <see cref="T:Devart.Data.Oracle.OracleSqlStatement" /> object to the end of collection. </summary>
      <keywords>OracleSqlStatementCollection.Add method </keywords>
      <param name="value">Instance of an <see cref="T:Devart.Data.Oracle.OracleSqlStatement" /> to be added. </param>
      <returns>Index af the added <see cref="T:Devart.Data.Oracle.OracleSqlStatement" /> in the collection. </returns>
      <overloads>Adds an <see cref="T:Devart.Data.Oracle.OracleSqlStatement" /> object to the end of collection. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleSqlStatementCollection.Contains(Devart.Data.Oracle.OracleSqlStatement)">
      <summary>Gets a value indicating whether a <see cref="T:Devart.Data.Oracle.OracleSqlStatement" /> object exists in the collection. </summary>
      <keywords>OracleSqlStatementCollection.Contains method </keywords>
      <param name="value">The <see cref="T:Devart.Data.Oracle.OracleSqlStatement" /> object to find. </param>
      <returns><see langword="true" /> if the collection contains the <see cref="T:Devart.Data.Oracle.OracleSqlStatement" />; otherwise, <see langword="false" />. </returns>
      <overloads>Gets a value indicating whether a <see cref="T:Devart.Data.Oracle.OracleSqlStatement" /> object exists in the collection. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleSqlStatementCollection.CopyTo(Devart.Data.Oracle.OracleSqlStatement[],System.Int32)">
      <summary>Copies <see cref="T:Devart.Data.Oracle.OracleSqlStatement" /> objects from the <see cref="T:Devart.Data.Oracle.OracleSqlStatementCollection" /> to the specified array. </summary>
      <keywords>OracleSqlStatementCollection.CopyTo method </keywords>
      <param name="array">The array to copy the <see cref="T:Devart.Data.Oracle.OracleSqlStatement" /> objects into. </param>
      <param name="index">The zero-based index in array at which copying begins. </param>
      <overloads>Copies <see cref="T:Devart.Data.Oracle.OracleSqlStatement" /> objects from the <see cref="T:Devart.Data.Oracle.OracleSqlStatementCollection" /> to the specified array. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleSqlStatementCollection.IndexOf(Devart.Data.Oracle.OracleSqlStatement)">
      <summary>Gets the location of the <see cref="T:Devart.Data.Oracle.OracleSqlStatement" /> object in the collection. </summary>
      <keywords>OracleSqlStatementCollection.IndexOf method </keywords>
      <param name="value">The <see cref="T:Devart.Data.Oracle.OracleSqlStatement" /> object to find. </param>
      <returns>The zero-based location of the <see cref="T:Devart.Data.Oracle.OracleSqlStatement" /> in the collection. </returns>
      <overloads>Gets the location of the <see cref="T:Devart.Data.Oracle.OracleSqlStatement" /> object in the collection. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleSqlStatementCollection.Insert(System.Int32,Devart.Data.Oracle.OracleSqlStatement)">
      <summary>Inserts an <see cref="T:Devart.Data.Oracle.OracleSqlStatement" /> object into collection in the specified location. </summary>
      <keywords>OracleSqlStatementCollection.Insert method </keywords>
      <param name="index">A location <see cref="T:Devart.Data.Oracle.OracleSqlStatement" /> should be inserted in. Must be non-negative and less than the size of the collection. </param>
      <param name="value">An <see cref="T:Devart.Data.Oracle.OracleSqlStatement" /> object to insert. </param>
      <overloads>Inserts an <see cref="T:Devart.Data.Oracle.OracleSqlStatement" /> object into collection in the specified location. </overloads>
    </member>
    <member name="P:Devart.Data.Oracle.OracleSqlStatementCollection.Item(System.Int32)">
      <summary>Gets or sets the <see cref="T:Devart.Data.Oracle.OracleSqlStatement" /> at the specified index. </summary>
      <keywords>OracleSqlStatementCollection.Item property </keywords>
      <param name="index">The zero-based index of the statement. </param>
      <value>The <see cref="T:Devart.Data.Oracle.OracleSqlStatement" /> at the specified index. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleSqlStatementCollection.Remove(Devart.Data.Oracle.OracleSqlStatement)">
      <summary>Removes an <see cref="T:Devart.Data.Oracle.OracleSqlStatement" /> object from the collection. </summary>
      <keywords>OracleSqlStatementCollection.Remove method </keywords>
      <param name="value"> An <see cref="T:Devart.Data.Oracle.OracleSqlStatement" /> object to remove. </param>
      <overloads>Removes an <see cref="T:Devart.Data.Oracle.OracleSqlStatement" /> object from the collection. </overloads>
    </member>
    <member name="T:Devart.Data.Oracle.OracleSqlStatementStatus">
      <summary>Determines status of an <see cref="T:Devart.Data.Oracle.OracleSqlStatement" />. </summary>
      <seealso cref="P:Devart.Data.Oracle.SqlStatementExecuteEventArgs.StatementStatus" />
    </member>
    <member name="F:Devart.Data.Oracle.OracleSqlStatementStatus.Cancel">
      <summary>Stops script execution. </summary>
      <keywords>OracleSqlStatementStatus.Cancel field </keywords>
    </member>
    <member name="F:Devart.Data.Oracle.OracleSqlStatementStatus.Continue">
      <summary>Continues script execution normally. </summary>
      <keywords>OracleSqlStatementStatus.Continue field </keywords>
    </member>
    <member name="F:Devart.Data.Oracle.OracleSqlStatementStatus.SkipStatement">
      <summary>Skips execution of the statement. You can execute it yourself and assign the obtained <see cref="T:Devart.Data.Oracle.OracleDataReader" /> to the <see cref="P:Devart.Data.Oracle.SqlStatementExecuteEventArgs.Reader" /> property, which will be available in the <see cref="T:Devart.Data.Oracle.OracleScript" /> later. </summary>
      <keywords>OracleSqlStatementStatus.SkipStatement field </keywords>
    </member>
    <member name="T:Devart.Data.Oracle.OracleString">
      <summary>Represents a variable-length stream of characters to be stored in or retrieved from the database. </summary>
      <remarks>Corresponds to Oracle CHAR, NCHAR, VARCHAR, NVARCHAR, LONG, and ROWID data types. To obtain an <see cref="T:Devart.Data.Oracle.OracleString" /> object call the <see cref="M:Devart.Data.Oracle.OracleDataReader.GetOracleString" /> method of the <see cref="T:Devart.Data.Oracle.OracleDataReader" /> class. </remarks>
    </member>
    <member name="M:Devart.Data.Oracle.OracleString.#ctor(System.String)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleString" /> structure, setting the <see cref="P:Devart.Data.Oracle.OracleString.Value" /> property to the specified string. </summary>
      <param name="s">The string to store. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleString.CompareTo(System.Object)">
      <summary>Compares the current <see cref="T:Devart.Data.Oracle.OracleString" /> object to the specified object and returns an integer that represents their relative values. </summary>
      <keywords>OracleString.CompareTo method </keywords>
      <param name="obj">The object to be compared. </param>
      <returns>A signed number indicating the relative values of the current <see cref="T:Devart.Data.Oracle.OracleString" /> structure and the object.
<list type="table">
  <listheader>
    <term>Return Value</term>
    <description>Condition</description>
  </listheader>
  <item>
    <term>Less than zero</term>
    <description>The value of the current <see cref="T:Devart.Data.Oracle.OracleString" /> object is less than the object.</description>
  </item>
  <item>
    <term>Zero</term>
    <description>The current <see cref="T:Devart.Data.Oracle.OracleString" /> object is the same to the object.</description>
   </item>
   <item>
     <term>Greater than zero</term>
     <description>The current <see cref="T:Devart.Data.Oracle.OracleString" /> object is greater than the object.</description>
   </item>
</list> </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleString.Concat(Devart.Data.Oracle.OracleString,Devart.Data.Oracle.OracleString)">
      <summary>Concatenates two <see cref="T:Devart.Data.Oracle.OracleString" /> structures. </summary>
      <keywords>OracleString.Concat method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleString" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleString" />. </param>
      <returns>A new <see cref="T:Devart.Data.Oracle.OracleString" /> structure containing the newly concatenated value. </returns>
    </member>
    <member name="F:Devart.Data.Oracle.OracleString.Empty">
      <summary>Represents an empty string that can be assigned to the <see cref="P:Devart.Data.Oracle.OracleString.Value" /> property of an <see cref="T:Devart.Data.Oracle.OracleString" /> structure. </summary>
      <keywords>OracleString.Empty field </keywords>
    </member>
    <member name="M:Devart.Data.Oracle.OracleString.Equals(Devart.Data.Oracle.OracleString,Devart.Data.Oracle.OracleString)">
      <summary>Determines whether two <see cref="T:Devart.Data.Oracle.OracleString" /> values are equal. </summary>
      <keywords>OracleString.Equals method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleString" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleString" />. </param>
      <returns><see langword="true" /> if two <see cref="T:Devart.Data.Oracle.OracleString" /> values are equal; otherwise, <see langword="false" />. </returns>
      <overloads>Compares two <see cref="T:Devart.Data.Oracle.OracleString" /> structures to determine if they are equal. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleString.Equals(System.Object)">
      <summary>Compares the specified object parameter to the <see cref="P:Devart.Data.Oracle.OracleString.Value" /> property of the <see cref="T:Devart.Data.Oracle.OracleString" /> object. </summary>
      <keywords>OracleString.Equals method </keywords>
      <param name="value">The object to be compared. </param>
      <returns><see langword="true" /> if object is an instance of the <see cref="T:Devart.Data.Oracle.OracleString" /> and has the same value; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleString.GetHashCode()">
      <summary>Returns a hash code for the <see cref="T:Devart.Data.Oracle.OracleString" /> structure. </summary>
      <keywords>OracleString.GetHashCode method </keywords>
      <returns>A 32-bit signed integer hash code. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleString.GreaterThan(Devart.Data.Oracle.OracleString,Devart.Data.Oracle.OracleString)">
      <summary>Determines whether the first of two <see cref="T:Devart.Data.Oracle.OracleString" /> values is greater than the second. </summary>
      <keywords>OracleString.GreaterThan method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleString" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleString" />. </param>
      <returns><see langword="true" /> if the first of two <see cref="T:Devart.Data.Oracle.OracleBinary" /> values is greater than the second; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleString.GreaterThanOrEqual(Devart.Data.Oracle.OracleString,Devart.Data.Oracle.OracleString)">
      <summary>Determines whether the first of two <see cref="T:Devart.Data.Oracle.OracleString" /> values is greater than or equal to the second. </summary>
      <keywords>OracleString.GreaterThanOrEqual method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleString" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleString" />. </param>
      <returns><see langword="true" /> if the first of two <see cref="T:Devart.Data.Oracle.OracleBinary" /> values is greater than or equal to the second; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleString.IsNull">
      <summary>Gets a value indicating whether the <see cref="P:Devart.Data.Oracle.OracleString.Value" /> property of the <see cref="T:Devart.Data.Oracle.OracleString" /> is <see cref="F:Devart.Data.Oracle.OracleString.Null" />. </summary>
      <keywords>OracleString.IsNull property </keywords>
      <value><see langword="true" /> if the <see cref="P:Devart.Data.Oracle.OracleString.Value" /> is <see cref="F:Devart.Data.Oracle.OracleString.Null" />; otherwise, <see langword="false" />. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleString.Item(System.Int32)">
      <summary>Gets the character at the specified index. </summary>
      <keywords>OracleString.Item property </keywords>
      <param name="index">The zero-based index of the character. </param>
      <value>A character on the specified index in <see cref="T:Devart.Data.Oracle.OracleString" />. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleString.Length">
      <summary>Gets the length of the string that is stored in the specified <see cref="T:Devart.Data.Oracle.OracleString" /> structure. </summary>
      <remarks>Check the <see cref="P:Devart.Data.Oracle.OracleString.IsNull" /> property before reading the <see cref="P:Devart.Data.Oracle.OracleString.Length" /> property to avoid raising an exception. </remarks>
      <keywords>OracleString.Length property </keywords>
      <value>The length of the string. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleString.LessThan(Devart.Data.Oracle.OracleString,Devart.Data.Oracle.OracleString)">
      <summary>Determines whether the first of two <see cref="T:Devart.Data.Oracle.OracleString" /> values is less than the second. </summary>
      <keywords>OracleString.LessThan method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleString" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleString" />. </param>
      <returns><see langword="true" /> if the first of two <see cref="T:Devart.Data.Oracle.OracleBinary" /> values is less than the second; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleString.LessThanOrEqual(Devart.Data.Oracle.OracleString,Devart.Data.Oracle.OracleString)">
      <summary>Determines whether the first of two <see cref="T:Devart.Data.Oracle.OracleString" /> values is less than or equal to the second. </summary>
      <keywords>OracleString.LessThanOrEqual method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleString" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleString" />. </param>
      <returns><see langword="true" /> if the first of two <see cref="T:Devart.Data.Oracle.OracleBinary" /> values is less than or equal to the second; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleString.NotEquals(Devart.Data.Oracle.OracleString,Devart.Data.Oracle.OracleString)">
      <summary>Determines whether two <see cref="T:Devart.Data.Oracle.OracleString" /> values are not equal. </summary>
      <keywords>OracleString.NotEquals method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleString" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleString" />. </param>
      <returns><see langword="true" /> if two <see cref="T:Devart.Data.Oracle.OracleString" /> values are not equal; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="F:Devart.Data.Oracle.OracleString.Null">
      <summary>Represents a null value that can be assigned to an <see cref="T:Devart.Data.Oracle.OracleString" /> structure. </summary>
      <keywords>OracleString.Null field </keywords>
    </member>
    <member name="M:Devart.Data.Oracle.OracleString.ToString()">
      <summary>Converts the current <see cref="T:Devart.Data.Oracle.OracleString" /> object to a <see cref="T:System.String" />. </summary>
      <keywords>OracleString.ToString method </keywords>
      <returns>A <see cref="T:System.String" /> with the same value as the <see cref="T:Devart.Data.Oracle.OracleString" /> structure. </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleString.Value">
      <summary>Gets the string that is stored in the specified <see cref="T:Devart.Data.Oracle.OracleString" /> structure. </summary>
      <keywords>OracleString.Value property </keywords>
      <value>The string that is stored. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleString.op_Addition(Devart.Data.Oracle.OracleString,Devart.Data.Oracle.OracleString)">
      <summary>Concatenates two <see cref="T:Devart.Data.Oracle.OracleString" /> structures. </summary>
      <keywords>OracleString.op_Addition method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleString" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleString" />. </param>
      <returns>A new <see cref="T:Devart.Data.Oracle.OracleString" /> structure containing the newly concatenated value. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleString.op_Equality(Devart.Data.Oracle.OracleString,Devart.Data.Oracle.OracleString)">
      <summary>Determines whether two <see cref="T:Devart.Data.Oracle.OracleString" /> values are equal. </summary>
      <keywords>OracleString.op_Equality method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleString" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleString" />. </param>
      <returns><see langword="true" /> if two <see cref="T:Devart.Data.Oracle.OracleString" /> values are equal; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleString.op_Explicit(Devart.Data.Oracle.OracleString)~System.String">
      <summary>Converts the <see cref="T:Devart.Data.Oracle.OracleString" /> object to a <see cref="T:System.String" />. </summary>
      <keywords>OracleString.op_Explicit method </keywords>
      <param name="value">The <see cref="T:Devart.Data.Oracle.OracleString" /> to be converted. </param>
      <returns>A <see cref="T:System.String" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleString.op_GreaterThan(Devart.Data.Oracle.OracleString,Devart.Data.Oracle.OracleString)">
      <summary>Compares two <see cref="T:Devart.Data.Oracle.OracleString" /> structures to determine if the first is greater than the second. </summary>
      <keywords>OracleString.op_GreaterThan method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleString" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleString" />. </param>
      <returns><see langword="true" /> if the first of two <see cref="T:Devart.Data.Oracle.OracleBinary" /> values is greater than the second; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleString.op_GreaterThanOrEqual(Devart.Data.Oracle.OracleString,Devart.Data.Oracle.OracleString)">
      <summary>Compares two <see cref="T:Devart.Data.Oracle.OracleString" /> structures to determine if the first is greater than or equal to the second. </summary>
      <keywords>OracleString.op_GreaterThanOrEqual method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleString" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleString" />. </param>
      <returns><see langword="true" /> if the first of two <see cref="T:Devart.Data.Oracle.OracleBinary" /> values is greater than or equal to the second; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleString.op_Implicit(System.String)~Devart.Data.Oracle.OracleString">
      <summary>Converts the specified <see cref="T:System.String" /> to an <see cref="T:Devart.Data.Oracle.OracleString" />. </summary>
      <keywords>OracleString.op_Implicit method </keywords>
      <param name="value">An <see cref="T:Devart.Data.Oracle.OracleString" />. </param>
      <returns>The <see cref="T:System.String" /> to be converted. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleString.op_Inequality(Devart.Data.Oracle.OracleString,Devart.Data.Oracle.OracleString)">
      <summary>Determines whether two <see cref="T:Devart.Data.Oracle.OracleString" /> values are not equal. </summary>
      <keywords>OracleString.op_Inequality method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleString" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleString" />. </param>
      <returns><see langword="true" /> if two <see cref="T:Devart.Data.Oracle.OracleString" /> values are not equal; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleString.op_LessThan(Devart.Data.Oracle.OracleString,Devart.Data.Oracle.OracleString)">
      <summary>Compares two <see cref="T:Devart.Data.Oracle.OracleString" /> structures to determine if the first is less than the second. </summary>
      <keywords>OracleString.op_LessThan method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleString" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleString" />. </param>
      <returns><see langword="true" /> if the first of two <see cref="T:Devart.Data.Oracle.OracleBinary" /> values is less than the second; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleString.op_LessThanOrEqual(Devart.Data.Oracle.OracleString,Devart.Data.Oracle.OracleString)">
      <summary>Compares two <see cref="T:Devart.Data.Oracle.OracleString" /> structures to determine if the first is less than or equal to the second. </summary>
      <keywords>OracleString.op_LessThanOrEqual method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleString" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleString" />. </param>
      <returns><see langword="true" /> if the first of two <see cref="T:Devart.Data.Oracle.OracleBinary" /> values is less than or equal to the second; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="T:Devart.Data.Oracle.OracleTable">
      <summary>Represents a client-side cached Oracle Nested table type. </summary>
      <remarks>The behavior of the <see cref="T:Devart.Data.Oracle.OracleTable" /> is similar to <see cref="T:Devart.Data.Oracle.OracleArray" /> class. The main difference is that <see cref="T:Devart.Data.Oracle.OracleTable" /> can contain unlimited number of the elements.
<para>Note that <see cref="T:Devart.Data.Oracle.OracleTable" /> can be used in data binding with <b>DataGrid</b> as it implements <b>IListSource</b> interface.</para>
<para>This class is not available in <see cref="P:Devart.Data.Oracle.OracleConnection.Direct" /> mode.</para> </remarks>
      <example><para>This example demonstrates how to retrieve <see cref="T:Devart.Data.Oracle.OracleTable" /> object from server and display its elements. To create required type and table and fill it with data you can use the following script:
<pre>CREATE OR REPLACE TYPE TEmployees AS 
  TABLE OF VARCHAR2(40);

CREATE TABLE CompanyEmpObject (
  Code NUMBER PRIMARY KEY,
  Company VARCHAR2(40),
  Employees TEmployees	
)NESTED TABLE Employees STORE AS N_TAB;

INSERT INTO CompanyEmpObject
  (Code, Company, Employees)
VALUES
  (1, 'Microsoft', TEmployees('PROGRAMMER', 'MANAGER', 'ELECTRICIAN', 'CLEANUP MEN'));
INSERT INTO CompanyEmpObject
  (Code, Company, Employees)
VALUES
  (2, 'Borland', TEmployees('PROGRAMMER', 'ELECTRICIAN', 'COURIER'));
INSERT INTO CompanyEmpObject
  (Code, Company, Employees)
VALUES
  (3, 'MC Donalds', TEmployees('SHOP ASSISTANT', 'CLERK',  'CLEANUP MEN'));
INSERT INTO CompanyEmpObject
  (Code, Company, Employees)
VALUES
  (4, 'Ford', TEmployees('MECHANICIAN', 'MANAGER'));
</pre>
</para> <code lang="csharp">OracleConnection connection = new OracleConnection("User Id=scott;Password=tiger;Data Source=ora");
OracleCommand command = new OracleCommand("SELECT * FROM CompanyEmpObject", connection);
connection.Open();
OracleDataReader dataReader = command.ExecuteReader();
try{
  int index = dataReader.GetOrdinal("Employees");
  while (dataReader.Read()) {
    OracleTable oraTable = dataReader.GetOracleTable(index);
    if (!oraTable.IsNull) {
      string[] employees = new string[oraTable.Count];
      for (int i = 0; i &lt; oraTable.Count; i++)
        employees[i] = (string)oraTable[i];

      Console.WriteLine("Company: " + dataReader.GetString(1));
      foreach (string str in employees)
        Console.WriteLine("\t" + str);
    }
    else{
      Console.WriteLine("Company: " + dataReader.GetString(1));
      Console.WriteLine("No vacancies");
    }
  }
}
catch (Devart.Data.Oracle.OracleException ex) {
  Console.WriteLine(ex.Message);
}
finally{
  dataReader.Close();
  connection.Close();
}
Console.ReadLine(); </code><code lang="vb">Dim connection As New OracleConnection("User Id=scott;Password=tiger;Data Source=ora")
Dim command As New OracleCommand("SELECT * FROM CompanyEmpObject", connection)
connection.Open()
Dim dataReader As OracleDataReader = command.ExecuteReader()
Try
  Dim index As Integer = dataReader.GetOrdinal("Employees")
  While dataReader.Read()
    Dim oraTable As OracleTable = dataReader.GetOracleTable(index)
    If Not oraTable.IsNull Then
      Dim employees(oraTable.Count) As String
      Dim I As Integer
      For I = 0 To oraTable.Count - 1
        employees(I) = oraTable(I)
      Next I
      Console.WriteLine("Company: " &amp; dataReader.GetString(1))
      For Each str As String In employees
        Console.WriteLine(Chr(9) &amp; str)
      Next
    Else
      Console.WriteLine("Company: " &amp; dataReader.GetString(1))
      Console.WriteLine("No vacancies")
    End If
  End While
Catch ex As Devart.Data.Oracle.OracleException
  Console.WriteLine(ex.Message)
Finally
  dataReader.Close()
  connection.Close()
End Try </code></example>
    </member>
    <member name="M:Devart.Data.Oracle.OracleTable.#ctor(Devart.Data.Oracle.OracleType)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleTable" /> class. </summary>
      <remarks>Use this constructor to create an <see cref="T:Devart.Data.Oracle.OracleTable" /> and pass it as a parameter by assigning to <see cref="P:Devart.Common.DbParameterBase.Value" /> at the time of initialization. </remarks>
      <param name="oraType">An <see cref="T:Devart.Data.Oracle.OracleType" /> to create a new instance of the <see cref="T:Devart.Data.Oracle.OracleTable" />. This should be the nested table type, not the type of objects of which the table consists. </param>
    </member>
    <member name="T:Devart.Data.Oracle.OracleTimeStamp">
      <summary>Represents the Oracle TIMESTAMP, TIMESTAMP WITH TIME ZONE, TIMESTAMP WITH LOCAL TIME ZONE data types. </summary>
      <remarks>To obtain an <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> object call the <see cref="M:Devart.Data.Oracle.OracleDataReader.GetOracleTimeStamp" /> method of the <see cref="T:Devart.Data.Oracle.OracleDataReader" /> or <see cref="T:Devart.Data.Oracle.OracleParameter" /> class. </remarks>
    </member>
    <member name="M:Devart.Data.Oracle.OracleTimeStamp.#ctor(System.DateTime)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> structure with the specified <see cref="T:System.DateTime" />. </summary>
      <param name="dt">The specified <see cref="T:System.DateTime" />. </param>
      <overloads>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> structure. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleTimeStamp.#ctor(System.DateTime,Devart.Data.Oracle.OracleDbType)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> structure with the specified <see cref="T:System.DateTime" /> and Oracle TIMESTAMP type. </summary>
      <param name="dt">The specified <see cref="T:System.DateTime" />. </param>
      <param name="dbType">One of the <see cref="T:Devart.Data.Oracle.OracleDbType" /> values. May be <see cref="T:Devart.Data.Oracle.OracleDbType" />.TimeStamp, <see cref="T:Devart.Data.Oracle.OracleDbType" />.TimeStampTZ, or <see cref="T:Devart.Data.Oracle.OracleDbType" />.TimeStampLTZ. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleTimeStamp.#ctor(System.DateTime,System.String)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> structure with the specified <see cref="T:System.DateTime" /> and time zone. </summary>
      <param name="dt">The specified <see cref="T:System.DateTime" />. </param>
      <param name="timeZone">A <see cref="T:System.String" /> that represents the time zone. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleTimeStamp.#ctor(System.Int32,System.Int32,System.Int32)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> structure with the specified year, month, and day. </summary>
      <param name="year">The specified year. </param>
      <param name="month">The specified month. </param>
      <param name="day">The specified day. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleTimeStamp.#ctor(System.Int32,System.Int32,System.Int32,Devart.Data.Oracle.OracleDbType)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> structure with the specified year, month, day, and Oracle TIMESTAMP type. </summary>
      <param name="year">The specified year. </param>
      <param name="month">The specified month. </param>
      <param name="day">The specified day. </param>
      <param name="dbType">One of the <see cref="T:Devart.Data.Oracle.OracleDbType" /> values. May be <see cref="T:Devart.Data.Oracle.OracleDbType" />.TimeStamp, <see cref="T:Devart.Data.Oracle.OracleDbType" />.TimeStampTZ, or <see cref="T:Devart.Data.Oracle.OracleDbType" />.TimeStampLTZ. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleTimeStamp.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> structure with the specified year, month, day, hour, minute, and second. </summary>
      <param name="year">The specified year. </param>
      <param name="month">The specified month. </param>
      <param name="day">The specified day. </param>
      <param name="hour">The specified hour. </param>
      <param name="minute">The specified minute. </param>
      <param name="second">The specified second. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleTimeStamp.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,Devart.Data.Oracle.OracleDbType)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> structure with the specified year, month, day, hour, minute,  second, and Oracle TIMESTAMP type. </summary>
      <param name="year">The specified year. </param>
      <param name="month">The specified month. </param>
      <param name="day">The specified day. </param>
      <param name="hour">The specified hour. </param>
      <param name="minute">The specified minute. </param>
      <param name="second">The specified second. </param>
      <param name="dbType">One of the <see cref="T:Devart.Data.Oracle.OracleDbType" /> values. May be <see cref="T:Devart.Data.Oracle.OracleDbType" />.TimeStamp, <see cref="T:Devart.Data.Oracle.OracleDbType" />.TimeStampTZ, or <see cref="T:Devart.Data.Oracle.OracleDbType" />.TimeStampLTZ. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleTimeStamp.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> structure with the specified year, month, day, hour, minute, second, and nanosecond. </summary>
      <param name="year">The specified year. </param>
      <param name="month">The specified month. </param>
      <param name="day">The specified day. </param>
      <param name="hour">The specified hour. </param>
      <param name="minute">The specified minute. </param>
      <param name="second">The specified second. </param>
      <param name="nanosecond">The specified nanosecond. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleTimeStamp.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,Devart.Data.Oracle.OracleDbType)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> structure with the specified year, month, day, hour, minute, second, nanosecond, and Oracle TIMESTAMP type. </summary>
      <param name="year">The specified year. </param>
      <param name="month">The specified month. </param>
      <param name="day">The specified day. </param>
      <param name="hour">The specified hour. </param>
      <param name="minute">The specified minute. </param>
      <param name="second">The specified second. </param>
      <param name="nanosecond">The specified nanosecond. </param>
      <param name="dbType">One of the <see cref="T:Devart.Data.Oracle.OracleDbType" /> values. May be <see cref="T:Devart.Data.Oracle.OracleDbType" />.TimeStamp, <see cref="T:Devart.Data.Oracle.OracleDbType" />.TimeStampTZ, or <see cref="T:Devart.Data.Oracle.OracleDbType" />.TimeStampLTZ. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleTimeStamp.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.String)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> structure with the specified year, month, day, hour, minute, second, nanosecond, and time zone. </summary>
      <param name="year">The specified year. </param>
      <param name="month">The specified month. </param>
      <param name="day">The specified day. </param>
      <param name="hour">The specified hour. </param>
      <param name="minute">The specified minute. </param>
      <param name="second">The specified second. </param>
      <param name="nanosecond">The specified nanosecond. </param>
      <param name="timeZone">A <see cref="T:System.String" /> that represents the time zone. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleTimeStamp.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.String,Devart.Data.Oracle.OracleDbType)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> structure with the specified year, month, day, hour, minute, second, nanosecond, time zone, and OracleDbType. </summary>
      <param name="year">The specified year. </param>
      <param name="month">The specified month. </param>
      <param name="day">The specified day. </param>
      <param name="hour">The specified hour. </param>
      <param name="minute">The specified minute. </param>
      <param name="second">The specified second. </param>
      <param name="nanosecond"> </param>
      <param name="timeZone">A <see cref="T:System.String" /> that represents the time zone. </param>
      <param name="dbType">One of the <see cref="T:Devart.Data.Oracle.OracleDbType" /> values. May be <see cref="T:Devart.Data.Oracle.OracleDbType" />.TimeStamp, <see cref="T:Devart.Data.Oracle.OracleDbType" />.TimeStampTZ, or <see cref="T:Devart.Data.Oracle.OracleDbType" />.TimeStampLTZ. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleTimeStamp.#ctor(System.Int32,System.Int32,System.Int32,System.String)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> structure with the specified year, month, day, and time zone. </summary>
      <param name="year">The specified year. </param>
      <param name="month">The specified month. </param>
      <param name="day">The specified day. </param>
      <param name="timeZone">A <see cref="T:System.String" /> that represents the time zone. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleTimeStamp.AddDays(System.Double)">
      <summary>Adds the specified number of days to the current <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> instance. </summary>
      <keywords>OracleTimeStamp.AddDays method </keywords>
      <param name="days">The specified number of days. </param>
      <returns>An <see cref="T:Devart.Data.Oracle.OracleTimeStamp" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleTimeStamp.AddHours(System.Double)">
      <summary>Adds the specified number of hours to the current <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> instance. </summary>
      <keywords>OracleTimeStamp.AddHours method </keywords>
      <param name="hours">The specified number of hours. </param>
      <returns>An <see cref="T:Devart.Data.Oracle.OracleTimeStamp" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleTimeStamp.AddMilliseconds(System.Double)">
      <summary>Adds the specified number of milliseconds to the current <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> instance. </summary>
      <keywords>OracleTimeStamp.AddMilliseconds method </keywords>
      <param name="milliseconds">The specified number of milliseconds. </param>
      <returns>An <see cref="T:Devart.Data.Oracle.OracleTimeStamp" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleTimeStamp.AddMinutes(System.Double)">
      <summary>Adds the specified number of minutes to the current <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> instance. </summary>
      <keywords>OracleTimeStamp.AddMinutes method </keywords>
      <param name="minutes">The specified number of minutes. </param>
      <returns>An <see cref="T:Devart.Data.Oracle.OracleTimeStamp" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleTimeStamp.AddMonths(System.Int64)">
      <summary>Adds the specified number of months to the current <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> instance. </summary>
      <keywords>OracleTimeStamp.AddMonths method </keywords>
      <param name="months">The specified number of months. </param>
      <returns>An <see cref="T:Devart.Data.Oracle.OracleTimeStamp" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleTimeStamp.AddSeconds(System.Double)">
      <summary>Adds the specified number of seconds to the current <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> instance. </summary>
      <keywords>OracleTimeStamp.AddSeconds method </keywords>
      <param name="seconds">The specified number of seconds. </param>
      <returns>An <see cref="T:Devart.Data.Oracle.OracleTimeStamp" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleTimeStamp.AddYears(System.Int32)">
      <summary>Adds the specified number of years to the current <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> instance. </summary>
      <keywords>OracleTimeStamp.AddYears method </keywords>
      <param name="years">The specified number of years. </param>
      <returns>An <see cref="T:Devart.Data.Oracle.OracleTimeStamp" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleTimeStamp.CompareTo(System.Object)">
      <summary>Compares the current <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> object to the specified object and returns an integer that represents their relative values. </summary>
      <keywords>OracleTimeStamp.CompareTo method </keywords>
      <param name="obj">The object to be compared. </param>
      <returns>A signed number indicating the relative values of the current <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> structure and the object.
<list type="table">
  <listheader>
    <term>Return Value</term>
    <description>Condition</description>
  </listheader>
  <item>
    <term>Less than zero</term>
    <description>The value of the current <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> object is less than the object.</description>
  </item>
  <item>
    <term>Zero</term>
    <description>The current <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> object is the same to the object.</description>
   </item>
   <item>
     <term>Greater than zero</term>
     <description>The current <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> object is greater than the object.</description>
   </item>
</list> </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleTimeStamp.Day">
      <summary>Gets the day component of an <see cref="T:Devart.Data.Oracle.OracleTimeStamp" />. </summary>
      <keywords>OracleTimeStamp.Day property </keywords>
      <value>A number that represents a day value between 1 and 31. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleTimeStamp.Equals(Devart.Data.Oracle.OracleTimeStamp,Devart.Data.Oracle.OracleTimeStamp)">
      <summary>Determines whether two <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> values are equal. </summary>
      <keywords>OracleTimeStamp.Equals method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleTimeStamp" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleTimeStamp" />. </param>
      <returns><see langword="true" /> if two <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> values are equal; otherwise, <see langword="false" />. </returns>
      <overloads>Compares two <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> structures to determine if they are equal. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleTimeStamp.Equals(System.Object)">
      <summary>Compares the specified object parameter to the <see cref="P:Devart.Data.Oracle.OracleTimeStamp.Value" /> property of the <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> object. </summary>
      <keywords>OracleTimeStamp.Equals method </keywords>
      <param name="value">The object to be compared. </param>
      <returns><see langword="true" /> if object is an instance of the <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> and has the same date and time; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleTimeStamp.GetDaysBetween(Devart.Data.Oracle.OracleTimeStamp)">
      <summary>Subtracts the specified <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> value from the current instance and returns an <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> that represents the time difference between the specified <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> structure and the current instance. </summary>
      <keywords>OracleTimeStamp.GetDaysBetween method </keywords>
      <param name="value">The <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> value being subtracted. </param>
      <returns>An <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> representing the interval between two <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> values. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleTimeStamp.GetHashCode()">
      <summary>Gets a hash code for the <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> instance. </summary>
      <keywords>OracleTimeStamp.GetHashCode method </keywords>
      <returns>A 32-bit signed integer hash code. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleTimeStamp.GetSysDate()">
      <summary>Gets an <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> structure that represents the current date and time. </summary>
      <keywords>OracleTimeStamp.GetSysDate method </keywords>
      <returns>An <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> structure that represents the current date and time. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleTimeStamp.GetYearsBetween(Devart.Data.Oracle.OracleTimeStamp)">
      <summary>Subtracts the specified <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> value from the current instance and returns an <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> that represents the time difference between the specified <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> structure and the current instance. </summary>
      <keywords>OracleTimeStamp.GetYearsBetween method </keywords>
      <param name="value">The <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> value being subtracted. </param>
      <returns>An <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> representing the interval between two <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> values. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleTimeStamp.GreaterThan(Devart.Data.Oracle.OracleTimeStamp,Devart.Data.Oracle.OracleTimeStamp)">
      <summary>Determines whether the first of two <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> values is greater than the second. </summary>
      <keywords>OracleTimeStamp.GreaterThan method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleTimeStamp" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleTimeStamp" />. </param>
      <returns><see langword="true" /> if the first of two <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> values is greater than the second; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleTimeStamp.GreaterThanOrEqual(Devart.Data.Oracle.OracleTimeStamp,Devart.Data.Oracle.OracleTimeStamp)">
      <summary>Determines whether the first of two <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> values is greater than or equal to the second. </summary>
      <keywords>OracleTimeStamp.GreaterThanOrEqual method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleTimeStamp" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleTimeStamp" />. </param>
      <returns><see langword="true" /> if the first of two <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> values is greater than or equal to the second; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleTimeStamp.Hour">
      <summary>Gets the hour component of an <see cref="T:Devart.Data.Oracle.OracleTimeStamp" />. </summary>
      <keywords>OracleTimeStamp.Hour property </keywords>
      <value>A number that represents an hour value between 0 and 23. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleTimeStamp.IsNull">
      <summary>Gets a value indicating whether the <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> structure represents <see cref="F:Devart.Data.Oracle.OracleTimeStamp.Null" />. </summary>
      <keywords>OracleTimeStamp.IsNull property </keywords>
      <value><see langword="true" /> if the <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> structure represents <see cref="F:Devart.Data.Oracle.OracleTimeStamp.Null" />; otherwise, <see langword="false" />. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleTimeStamp.LessThan(Devart.Data.Oracle.OracleTimeStamp,Devart.Data.Oracle.OracleTimeStamp)">
      <summary>Determines whether the first of two <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> values is less than the second. </summary>
      <keywords>OracleTimeStamp.LessThan method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleTimeStamp" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleTimeStamp" />. </param>
      <returns><see langword="true" /> if the first of two <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> values is less than the second; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleTimeStamp.LessThanOrEqual(Devart.Data.Oracle.OracleTimeStamp,Devart.Data.Oracle.OracleTimeStamp)">
      <summary>Determines whether the first of two <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> values is less than or equal to the second. </summary>
      <keywords>OracleTimeStamp.LessThanOrEqual method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleTimeStamp" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleTimeStamp" />. </param>
      <returns><see langword="true" /> if the first of two <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> values is less than or equal to the second; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="F:Devart.Data.Oracle.OracleTimeStamp.MaxValue">
      <summary>Represents the maximum valid date and time for an <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> structure. </summary>
      <remarks>The maximum valid date for an <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> structure is December 31, 9999 23:59:59.999999999. </remarks>
      <keywords>OracleTimeStamp.MaxValue field </keywords>
    </member>
    <member name="P:Devart.Data.Oracle.OracleTimeStamp.Millisecond">
      <summary>Gets the millisecond component of an <see cref="T:Devart.Data.Oracle.OracleTimeStamp" />. </summary>
      <keywords>OracleTimeStamp.Millisecond property </keywords>
      <value>A number that represents a millisecond value between 0 and 999999999. </value>
    </member>
    <member name="F:Devart.Data.Oracle.OracleTimeStamp.MinValue">
      <summary>Represents the minimum valid date and time for an <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> structure. </summary>
      <remarks>The minimum valid date for an <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> structure is January 1, -4712 0:0:0. </remarks>
      <keywords>OracleTimeStamp.MinValue field </keywords>
    </member>
    <member name="P:Devart.Data.Oracle.OracleTimeStamp.Minute">
      <summary>Gets the minute component of an <see cref="T:Devart.Data.Oracle.OracleTimeStamp" />. </summary>
      <keywords>OracleTimeStamp.Minute property </keywords>
      <value>A number that represents a minute value between 0 and 59. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleTimeStamp.Month">
      <summary>Gets the month component of an <see cref="T:Devart.Data.Oracle.OracleTimeStamp" />. </summary>
      <keywords>OracleTimeStamp.Month property </keywords>
      <value>A number that represents a month value between 1 and 12. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleTimeStamp.Nanosecond">
      <summary>Gets the nanosecond component of an <see cref="T:Devart.Data.Oracle.OracleTimeStamp" />. </summary>
      <keywords>OracleTimeStamp.Nanosecond property </keywords>
      <value>A number that represents a nanosecond value between 0 and 999999999. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleTimeStamp.NotEquals(Devart.Data.Oracle.OracleTimeStamp,Devart.Data.Oracle.OracleTimeStamp)">
      <summary>Determines whether two <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> values are not equal. </summary>
      <keywords>OracleTimeStamp.NotEquals method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleTimeStamp" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleTimeStamp" />. </param>
      <returns><see langword="true" /> if two <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> values are not equal; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="F:Devart.Data.Oracle.OracleTimeStamp.Null">
      <summary>Represents a null value that can be assigned to an <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> structure. </summary>
      <keywords>OracleTimeStamp.Null field </keywords>
    </member>
    <member name="M:Devart.Data.Oracle.OracleTimeStamp.Parse(System.String)">
      <summary>Converts the specified <see cref="T:System.String" /> representation of a date to its <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> equivalent. </summary>
      <remarks>The <paramref name="value" /> format must correspond to your local windows settings. </remarks>
      <example>The following example demonstrates usage of <see cref="M:Devart.Data.Oracle.OracleTimeStamp.Parse" /> method on a machine that has default Windows XP settings. If you have custom settings or use non-English version of the operating system you must change the format of <paramref name="value" /> parameter. <code lang="csharp">OracleTimeStamp newts = OracleTimeStamp.Parse("12/25/2005 3:40:15 PM"); </code><code lang="vb">Dim newts As OracleTimeStamp = OracleTimeStamp.Parse("12/25/2005 3:40:15 PM") </code></example>
      <keywords>OracleTimeStamp.Parse method </keywords>
      <param name="value">The <see cref="T:System.String" /> to be parsed. </param>
      <returns>An <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> structure equal to the date represented by the specified <see cref="T:System.String" />. </returns>
      <overloads>Converts the specified <see cref="T:System.String" /> representation of a date to its <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> equivalent. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleTimeStamp.Parse(System.String,Devart.Data.Oracle.OracleDbType)">
      <summary>Converts the specified <see cref="T:System.String" /> representation of a date to its <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> equivalent using specified <see cref="T:Devart.Data.Oracle.OracleDbType" />. </summary>
      <remarks>This overload of <see cref="M:Devart.Data.Oracle.OracleTimeStamp.Parse" /> method allows to control how the time stamp is actually stored. </remarks>
      <example>The following example demonstrates usage of <see cref="M:Devart.Data.Oracle.OracleTimeStamp.Parse" /> method on a machine that has default Windows XP settings. If you have custom settings or use non-English version of the operating system you must change the format of <paramref name="value" /> parameter. <code lang="csharp">OracleTimeStamp newts = OracleTimeStamp.Parse("10/03/05 3:04:05 AM +03:00", OracleDbType.TimeStampTZ); </code><code lang="vb">Dim newts As OracleTimeStamp = OracleTimeStamp.Parse("10/03/05 3:04:05 AM +03:00", OracleDbType.TimeStampTZ) </code></example>
      <seealso cref="T:Devart.Data.Oracle.OracleDbType" />
      <keywords>OracleTimeStamp.Parse method </keywords>
      <param name="value">The <see cref="T:System.String" /> to be parsed. </param>
      <param name="timeStampType">A <see cref="T:Devart.Data.Oracle.OracleDbType" /> value. Only <see cref="T:Devart.Data.Oracle.OracleDbType" />.TimeStamp, <see cref="T:Devart.Data.Oracle.OracleDbType" />.TimeStampLTZ, and <see cref="T:Devart.Data.Oracle.OracleDbType" />.TimeStampTZ are allowed. </param>
      <returns>An <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> structure equal to the date represented by the specified <see cref="T:System.String" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleTimeStamp.Parse(System.String,System.String,Devart.Data.Oracle.OracleDbType)">
      <summary>Converts the specified <see cref="T:System.String" /> representation of a date to its <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> equivalent using specified format and <see cref="T:Devart.Data.Oracle.OracleDbType" />. </summary>
      <example>The following example demonstrates how to parse a string using your own format with and without a time zone. <code lang="csharp">OracleTimeStamp newts = OracleTimeStamp.Parse("10/03/05 3:04 PM", "mm/dd/yyyy HH:MI AM", OracleDbType.TimeStampLTZ);
OracleTimeStamp newts2 = OracleTimeStamp.Parse("10/03/05 3:04 +03:00 PM", "mm/dd/yyyy HH:MI TZH:TZM AM", OracleDbType.TimeStampTZ); </code><code lang="vb">Dim newts As OracleTimeStamp = OracleTimeStamp.Parse("10/03/05 3:04 PM", "mm/dd/yyyy HH:MI AM", OracleDbType.TimeStampLTZ)
Dim newts2 As OracleTimeStamp = OracleTimeStamp.Parse("10/03/05 3:04 +03:00 PM", "mm/dd/yyyy HH:MI TZH:TZM AM", OracleDbType.TimeStampTZ) </code></example>
      <keywords>OracleTimeStamp.Parse method </keywords>
      <param name="value">The <see cref="T:System.String" /> to be parsed. </param>
      <param name="format">A <see cref="T:System.String" /> that describes elements contained within <paramref name="value" />. </param>
      <param name="timeStampType">A <see cref="T:Devart.Data.Oracle.OracleDbType" /> value. Only <see cref="T:Devart.Data.Oracle.OracleDbType" />.TimeStamp, <see cref="T:Devart.Data.Oracle.OracleDbType" />.TimeStampLTZ, and <see cref="T:Devart.Data.Oracle.OracleDbType" />.TimeStampTZ are allowed. </param>
      <returns>An <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> structure equal to the date represented by the specified <see cref="T:System.String" />. </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleTimeStamp.Second">
      <summary>Gets the second component of an <see cref="T:Devart.Data.Oracle.OracleTimeStamp" />. </summary>
      <keywords>OracleTimeStamp.Second property </keywords>
      <value>A number that represents a second value between 0 and 59. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleTimeStamp.TimeStampType">
      <summary>Gets the Oracle TIMESTAMP type that represents an <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> object. </summary>
      <remarks>The value of <see cref="P:Devart.Data.Oracle.OracleTimeStamp.TimeStampType" /> property is specified in the constructor depending its parameters or can be set explicitly by the corresponding constructor. </remarks>
      <keywords>OracleTimeStamp.TimeStampType property </keywords>
      <value>One of the <see cref="T:Devart.Data.Oracle.OracleDbType" /> values. May be TimeStamp, TimeStampTZ, or TimeStampLTZ. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleTimeStamp.TimeZone">
      <summary>Gets the time zone of the <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> that represents <see cref="T:Devart.Data.Oracle.OracleDbType" />.TimeStampTZ. </summary>
      <remarks>If no time zone is set in the constructor, the <see cref="P:Devart.Data.Oracle.OracleTimeStamp.TimeZone" /> property is specified by the current Oracle client settings. </remarks>
      <keywords>OracleTimeStamp.TimeZone property </keywords>
      <value>A <see cref="T:System.String" /> that represents the time zone. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleTimeStamp.TimeZoneOffset">
      <summary>Gets the time zone portion in hours and minutes for the current <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> that represents <see cref="T:Devart.Data.Oracle.OracleDbType" />.TimeStampTZ. </summary>
      <keywords>OracleTimeStamp.TimeZoneOffset property </keywords>
      <value>A <see cref="T:System.TimeSpan" />. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleTimeStamp.ToOracleDate()">
      <summary>Converts the current <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> structure to an <see cref="T:Devart.Data.Oracle.OracleDate" /> structure. </summary>
      <remarks>The fractional second precision of the <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> value can be lost during the conversion. </remarks>
      <keywords>OracleTimeStamp.ToOracleDate method </keywords>
      <returns>The <see cref="T:Devart.Data.Oracle.OracleDate" /> structure contained the date and time in the current instance. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleTimeStamp.ToString()">
      <summary>Converts the current <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> structure to a <see cref="T:System.String" />. </summary>
      <keywords>OracleTimeStamp.ToString method </keywords>
      <returns>A <see cref="T:System.String" /> object. </returns>
      <overloads>Converts the current <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> structure to a <see cref="T:System.String" />. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleTimeStamp.ToString(System.String)">
      <summary>Converts the current <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> structure to a <see cref="T:System.String" /> using provided format string. </summary>
      <remarks>For information on how to build a format string refer to Oracle documentation. </remarks>
      <keywords>OracleTimeStamp.ToString method </keywords>
      <param name="format">Format to use for converting the string. </param>
      <returns>A <see cref="T:System.String" /> object. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleTimeStamp.ToUniversalTime()">
      <summary>Converts the current date and time to Coordinated Universal Time (UTC). </summary>
      <keywords>OracleTimeStamp.ToUniversalTime method </keywords>
      <returns>An <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> structure. </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleTimeStamp.Value">
      <summary>Gets the date and time that is stored in the <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> structure. </summary>
      <keywords>OracleTimeStamp.Value property </keywords>
      <value>A <see cref="T:System.DateTime" /> object. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleTimeStamp.Year">
      <summary>Gets the year component of an <see cref="T:Devart.Data.Oracle.OracleTimeStamp" />. </summary>
      <keywords>OracleTimeStamp.Year property </keywords>
      <value>A number that represents a year value between -4712 and 9999. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleTimeStamp.op_Addition(Devart.Data.Oracle.OracleTimeStamp,Devart.Data.Oracle.OracleIntervalDS)">
      <summary>Adds the specified <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> to the <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> and returns a new <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> structure. </summary>
      <keywords>OracleTimeStamp.op_Addition method </keywords>
      <param name="value1">The <see cref="T:Devart.Data.Oracle.OracleTimeStamp" />. </param>
      <param name="value2">The specified <see cref="T:Devart.Data.Oracle.OracleIntervalDS" />. </param>
      <returns>A new <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> structure. </returns>
      <overloads>Adds the specified object to the <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> and returns a new <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> structure. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleTimeStamp.op_Addition(Devart.Data.Oracle.OracleTimeStamp,Devart.Data.Oracle.OracleIntervalYM)">
      <summary>Adds the specified <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> to the <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> and returns a new <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> structure. </summary>
      <keywords>OracleTimeStamp.op_Addition method </keywords>
      <param name="value1">The <see cref="T:Devart.Data.Oracle.OracleTimeStamp" />. </param>
      <param name="value2">The specified <see cref="T:Devart.Data.Oracle.OracleIntervalYM" />. </param>
      <returns>A new <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> structure. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleTimeStamp.op_Addition(Devart.Data.Oracle.OracleTimeStamp,System.TimeSpan)">
      <summary>Adds the specified <see cref="T:System.TimeSpan" /> to the <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> and returns a new <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> structure. </summary>
      <keywords>OracleTimeStamp.op_Addition method </keywords>
      <param name="value1">The <see cref="T:Devart.Data.Oracle.OracleTimeStamp" />. </param>
      <param name="value2">The specified <see cref="T:System.TimeSpan" />. </param>
      <returns>A new <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> structure. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleTimeStamp.op_Equality(Devart.Data.Oracle.OracleTimeStamp,Devart.Data.Oracle.OracleTimeStamp)">
      <summary>Determines whether two <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> values are equal. </summary>
      <keywords>OracleTimeStamp.op_Equality method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleTimeStamp" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleTimeStamp" />. </param>
      <returns><see langword="true" /> if two <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> values are equal; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleTimeStamp.op_GreaterThan(Devart.Data.Oracle.OracleTimeStamp,Devart.Data.Oracle.OracleTimeStamp)">
      <summary>Compares two <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> structures to determine if the first is greater than the second. </summary>
      <keywords>OracleTimeStamp.op_GreaterThan method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleTimeStamp" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleTimeStamp" />. </param>
      <returns><see langword="true" /> if the first of two <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> values is greater than the second; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleTimeStamp.op_GreaterThanOrEqual(Devart.Data.Oracle.OracleTimeStamp,Devart.Data.Oracle.OracleTimeStamp)">
      <summary>Compares two <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> structures to determine if the first is greater than or equal to the second. </summary>
      <keywords>OracleTimeStamp.op_GreaterThanOrEqual method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleTimeStamp" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleTimeStamp" />. </param>
      <returns><see langword="true" /> if the first of two <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> values is greater than or equal to the second; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleTimeStamp.op_Inequality(Devart.Data.Oracle.OracleTimeStamp,Devart.Data.Oracle.OracleTimeStamp)">
      <summary>Determines whether two <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> values are not equal. </summary>
      <keywords>OracleTimeStamp.op_Inequality method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleTimeStamp" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleTimeStamp" />. </param>
      <returns><see langword="true" /> if two <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> values are not equal; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleTimeStamp.op_LessThan(Devart.Data.Oracle.OracleTimeStamp,Devart.Data.Oracle.OracleTimeStamp)">
      <summary>Compares two <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> structures to determine if the first is less than the second. </summary>
      <keywords>OracleTimeStamp.op_LessThan method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleTimeStamp" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleTimeStamp" />. </param>
      <returns><see langword="true" /> if the first of two <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> values is less than the second; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleTimeStamp.op_LessThanOrEqual(Devart.Data.Oracle.OracleTimeStamp,Devart.Data.Oracle.OracleTimeStamp)">
      <summary>Compares two <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> structures to determine if the first is less than or equal to the second. </summary>
      <keywords>OracleTimeStamp.op_LessThanOrEqual method </keywords>
      <param name="value1">First <see cref="T:Devart.Data.Oracle.OracleTimeStamp" />. </param>
      <param name="value2">Second <see cref="T:Devart.Data.Oracle.OracleTimeStamp" />. </param>
      <returns><see langword="true" /> if the first of two <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> values is less than or equal to the second; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleTimeStamp.op_Subtraction(Devart.Data.Oracle.OracleTimeStamp,Devart.Data.Oracle.OracleIntervalDS)">
      <summary>Subtracts the specified <see cref="T:Devart.Data.Oracle.OracleIntervalDS" /> value from the <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> value and returns a new <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> structure. </summary>
      <keywords>OracleTimeStamp.op_Subtraction method </keywords>
      <param name="value1">The <see cref="T:Devart.Data.Oracle.OracleTimeStamp" />. </param>
      <param name="value2">The specified <see cref="T:Devart.Data.Oracle.OracleIntervalDS" />. </param>
      <returns>A new <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> structure. </returns>
      <overloads>Subtracts the specified object from the <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> value and returns a new <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> structure. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleTimeStamp.op_Subtraction(Devart.Data.Oracle.OracleTimeStamp,Devart.Data.Oracle.OracleIntervalYM)">
      <summary>Subtracts the specified <see cref="T:Devart.Data.Oracle.OracleIntervalYM" /> value from the <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> value and returns a new <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> structure. </summary>
      <keywords>OracleTimeStamp.op_Subtraction method </keywords>
      <param name="value1">The <see cref="T:Devart.Data.Oracle.OracleTimeStamp" />. </param>
      <param name="value2">The specified <see cref="T:Devart.Data.Oracle.OracleIntervalYM" />. </param>
      <returns>A new <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> structure. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleTimeStamp.op_Subtraction(Devart.Data.Oracle.OracleTimeStamp,System.TimeSpan)">
      <summary>Subtracts the specified <see cref="T:System.TimeSpan" /> value from the <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> value and returns a new <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> structure. </summary>
      <keywords>OracleTimeStamp.op_Subtraction method </keywords>
      <param name="value1">The <see cref="T:Devart.Data.Oracle.OracleTimeStamp" />. </param>
      <param name="value2">The specified <see cref="T:System.TimeSpan" />. </param>
      <returns>A new <see cref="T:Devart.Data.Oracle.OracleTimeStamp" /> structure. </returns>
    </member>
    <member name="T:Devart.Data.Oracle.OracleTrace">
      <summary>Controls server side SQL and PL/SQL tracing. </summary>
      <remarks>Use OracleTrace component to start and stop the SQL trace for a session. The component also provides access to functionality of DBMS_TRACE package to control the PL/SQL trace. See <a href="OracleTrace.html">Using OracleTrace Component</a> for more information.
<para>This class is available only in Professional and Developer Editions. It is not available in Standard and Mobile Editions.</para> </remarks>
    </member>
    <member name="M:Devart.Data.Oracle.OracleTrace.#ctor()">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleTrace" /> class. </summary>
      <overloads>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleTrace" /> class. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleTrace.#ctor(Devart.Data.Oracle.OracleConnection)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleTrace" /> class and assigns an <see cref="T:Devart.Data.Oracle.OracleConnection" />. </summary>
      <param name="connection">An <see cref="T:Devart.Data.Oracle.OracleConnection" /> object to use. </param>
    </member>
    <member name="P:Devart.Data.Oracle.OracleTrace.Connection">
      <summary>Gets or sets <see cref="T:Devart.Data.Oracle.OracleConnection" /> object used for communicating with server. </summary>
      <keywords>OracleTrace.Connection property </keywords>
      <value>A <see cref="T:Devart.Data.Oracle.OracleConnection" /> object. </value>
    </member>
    <member name="F:Devart.Data.Oracle.OracleTrace.DefaultTraceFileSize">
      <summary>Specifies the server default trace file size.
Stands for the server default value of the trace file maximum size. </summary>
      <remarks>This value is 0. It can be assigned to the <see cref="P:Devart.Data.Oracle.OracleTrace.MaxTraceFileSize" /> property. </remarks>
      <keywords>OracleTrace.DefaultTraceFileSize field </keywords>
    </member>
    <member name="P:Devart.Data.Oracle.OracleTrace.Enabled">
      <summary>Gets or sets a value that indicates whether tracing is enabled. </summary>
      <keywords>OracleTrace.Enabled property </keywords>
      <value><see langword="true" /> if the tracing is enabled; otherwise, <see langword="false" />.
<see langword="true" /> if both SQL and PL/SQL traces are enabled; otherwise, <see langword="false" />. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleTrace.GetTraceFileName()">
      <summary>Returns the name for a dump file on the database server where SQL trace data is written. </summary>
      <keywords>OracleTrace.GetTraceFileName method </keywords>
      <returns>The full path to the dump file. </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleTrace.MaxTraceFileSize">
      <summary>Gets or sets the maximum size of SQL trace dump file. </summary>
      <remarks>Assign to DefaultTraceFileSize to use the default server value. Assign to UnlimitedTraceFileSize for unlimited trace file. </remarks>
      <keywords>OracleTrace.MaxTraceFileSize property </keywords>
      <value>The maximum size of SQL trace dump file. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleTrace.PlSqlTraceComment(System.String)">
      <summary>Sets a comment on PL/SQL trace. </summary>
      <keywords>OracleTrace.PlSqlTraceComment method </keywords>
      <param name="comment">The comment to set. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleTrace.PlSqlTraceLimit()">
      <summary>Limits the amount of storage used in the database for the PL/SQL trace data to the default value 8192 bytes. </summary>
      <keywords>OracleTrace.PlSqlTraceLimit method </keywords>
      <overloads>Limits the amount of storage used in the database for the PL/SQL trace data. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleTrace.PlSqlTraceLimit(System.Int32)">
      <summary>Limits the amount of storage used in the database for the PL/SQL trace data to the given value. </summary>
      <keywords>OracleTrace.PlSqlTraceLimit method </keywords>
      <param name="limit">The limit size in bytes. </param>
    </member>
    <member name="P:Devart.Data.Oracle.OracleTrace.PlSqlTraceMode">
      <summary>Gets or sets the trace mode for the PL/SQL trace. </summary>
      <remarks>Specifies the types of events which will be traced. Can be set to trace calls, exceptions, SQL executions and/or all PL/SQL lines; there are two modes for each: trace all events and trace events occured in the enabled PL/SQL units only. </remarks>
      <keywords>OracleTrace.PlSqlTraceMode property </keywords>
      <value>One of the <see cref="T:Devart.Data.Oracle.PlSqlTraceMode" /> values. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleTrace.PlSqlTracePause()">
      <summary>Pauses PL/SQL tracing. </summary>
      <keywords>OracleTrace.PlSqlTracePause method </keywords>
    </member>
    <member name="M:Devart.Data.Oracle.OracleTrace.PlSqlTraceResume()">
      <summary>Resumes PL/SQL tracing. </summary>
      <keywords>OracleTrace.PlSqlTraceResume method </keywords>
    </member>
    <member name="M:Devart.Data.Oracle.OracleTrace.PlSqlTraceRunNumber()">
      <summary>Returns a run number for the current PL/SQL trace. </summary>
      <remarks>This number can be used to retrieve information from trace tables. </remarks>
      <keywords>OracleTrace.PlSqlTraceRunNumber method </keywords>
      <returns>A run number. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleTrace.PlSqlTraceStart()">
      <summary>Starts PL/SQL tracing.
This method  leaves the SQL tracing state unchanged. </summary>
      <remarks>Another way to start the PL/SQL tracing is setting the <see cref="P:Devart.Data.Oracle.OracleTrace.Enabled" />  property to true, which starts both SQL and PL/SQL tracing. </remarks>
      <keywords>OracleTrace.PlSqlTraceStart method </keywords>
    </member>
    <member name="M:Devart.Data.Oracle.OracleTrace.PlSqlTraceStop()">
      <summary>Stops PL/SQL tracing.
This method leaves the SQL tracing state unchanged. </summary>
      <remarks>Another way to stop the PL/SQL tracing is setting the <see cref="P:Devart.Data.Oracle.OracleTrace.Enabled" /> property to false, which stops both SQL and PL/SQL tracing. </remarks>
      <keywords>OracleTrace.PlSqlTraceStop method </keywords>
    </member>
    <member name="P:Devart.Data.Oracle.OracleTrace.SqlTraceMode">
      <summary>Gets or sets the trace mode for the SQL trace. </summary>
      <remarks>Specifies which statistics will be collected while tracing. Can be set to collect the basic SQL execution statistics, the bind variables' values, the wait events information and/or the performance statistics. </remarks>
      <keywords>OracleTrace.SqlTraceMode property </keywords>
      <value>One of the <see cref="T:Devart.Data.Oracle.SqlTraceMode" /> values. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleTrace.SqlTraceStart()">
      <summary>Starts SQL tracing.
This method leaves the PL/SQL tracing state unchanged. </summary>
      <remarks>Another way to start the SQL tracing is setting the <see cref="P:Devart.Data.Oracle.OracleTrace.Enabled" /> property to true, which starts both SQL and PL/SQL tracing. </remarks>
      <keywords>OracleTrace.SqlTraceStart method </keywords>
    </member>
    <member name="M:Devart.Data.Oracle.OracleTrace.SqlTraceStop()">
      <summary>Stops SQL tracing.
This method leaves the PL/SQL tracing state unchanged. </summary>
      <remarks>Another way to stop the SQL tracing is setting the <see cref="P:Devart.Data.Oracle.OracleTrace.Enabled" /> property to false, which stops both SQL and PL/SQL tracing. </remarks>
      <keywords>OracleTrace.SqlTraceStop method </keywords>
    </member>
    <member name="P:Devart.Data.Oracle.OracleTrace.State">
      <summary>Gets a value that indicates which trace modes are active. </summary>
      <remarks>Indicates whether the SQL trace, the PL/SQL trace or both are active. </remarks>
      <keywords>OracleTrace.State property </keywords>
      <value>One of the <see cref="T:Devart.Data.Oracle.TraceState" /> values. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleTrace.TraceFileIdentifier">
      <summary>Gets or sets a file name suffix for the SQL trace dump file. </summary>
      <remarks>It is applied to the trace log file at the nearest SQL trace start.]
The default value is an empty string. </remarks>
      <keywords>OracleTrace.TraceFileIdentifier property </keywords>
      <value>A file name suffix. </value>
    </member>
    <member name="F:Devart.Data.Oracle.OracleTrace.UnlimitedTraceFileSize">
      <summary>Specifies the unlimited size of the trace file. </summary>
      <remarks>It can be assigned to the <see cref="P:Devart.Data.Oracle.OracleTrace.MaxTraceFileSize" /> property so that the trace file size will be unlimited. </remarks>
      <keywords>OracleTrace.UnlimitedTraceFileSize field </keywords>
    </member>
    <member name="T:Devart.Data.Oracle.OracleTransaction">
      <summary>Represents a SQL transaction to be made in the Oracle database. </summary>
      <remarks>
        <para>The application creates a <see cref="T:Devart.Data.Oracle.OracleTransaction" /> object by calling <see cref="M:Devart.Data.Oracle.OracleConnection.BeginTransaction" /> on the <see cref="T:Devart.Data.Oracle.OracleConnection" /> object. All subsequent operations associated with the transaction (for example, committing or aborting the transaction), are performed on the <see cref="T:Devart.Data.Oracle.OracleTransaction" /> object.
</para>
        <para>
The correlation between <see cref="T:Devart.Data.Oracle.OracleConnection" /> and <see cref="T:Devart.Data.Oracle.OracleTransaction" /> is always 1:1.
</para> </remarks>
      <example>The following example creates a <see cref="T:Devart.Data.Oracle.OracleConnection" /> and a <see cref="T:Devart.Data.Oracle.OracleTransaction" />. It also demonstrates how to use the <see cref="M:Devart.Data.Oracle.OracleConnection.BeginTransaction" />, <see cref="M:Devart.Data.Oracle.OracleTransaction.Commit()" />, and <see cref="M:Devart.Data.Oracle.OracleTransaction.Rollback" /> methods. <code lang="csharp">public void RunOracleTransaction(string myConnString)
{
  OracleConnection myConnection = new OracleConnection(myConnString);
  myConnection.Open();
  OracleCommand myCommand = new OracleCommand();
  OracleTransaction myTrans;
  // Start a local transaction
  myTrans = myConnection.BeginTransaction(System.Data.IsolationLevel.ReadCommitted);
  // Assign transaction object for a pending local transaction
  myCommand.Transaction = myTrans;
  myCommand.Connection = myConnection;
  try
  {
    myCommand.CommandText = "INSERT INTO Test.Dept(DeptNo, DName) Values(50, 'DEVELOPMENT')";
    myCommand.ExecuteNonQuery();
    myCommand.CommandText = "INSERT INTO Test.Dept(DeptNo, DName) Values(60, 'PRODUCTION')";
    myCommand.ExecuteNonQuery();
    myTrans.Commit();
    Console.WriteLine("Both records are written to database.");
  }
  catch(Exception e)
  {
    myTrans.Rollback();
    Console.WriteLine(e.ToString());
    Console.WriteLine("Neither record was written to database.");
  }
  finally
  {
    myConnection.Close();
  }
} </code><code lang="vb">Public Sub RunOracleTransaction(ByVal myConnString As String)
  Dim myConnection As New OracleConnection(myConnString)
  myConnection.Open()
  Dim myCommand As New OracleCommand
  Dim myTrans As OracleTransaction
  ' Start a local transaction
  myTrans = myConnection.BeginTransaction(System.Data.IsolationLevel.ReadCommitted)
  ' Assign transaction object for a pending local transaction
  myCommand.Transaction = myTrans
  myCommand.Connection = myConnection
  Try
    myCommand.CommandText = "INSERT INTO Test.Dept(DeptNo, DName) Values(50, 'DEVELOPMENT')"
    myCommand.ExecuteNonQuery()
    myCommand.CommandText = "INSERT INTO Test.Dept(DeptNo, DName) Values(60, 'PRODUCTION')"
    myCommand.ExecuteNonQuery()
    myTrans.Commit()
    Console.WriteLine("Both records are written to database.")
  Catch e As Exception
    myTrans.Rollback()
    Console.WriteLine(e.ToString())
    Console.WriteLine("Neither record was written to database.")
  Finally
    myConnection.Close()
  End Try
End Sub </code></example>
      <seealso cref="T:Devart.Data.Oracle.OracleDataReader" />
      <seealso cref="T:Devart.Data.Oracle.OracleConnection" />
    </member>
    <member name="M:Devart.Data.Oracle.OracleTransaction.Commit()">
      <summary>Commits the database transaction. </summary>
      <remarks>The <see cref="M:Devart.Data.Oracle.OracleTransaction.Commit" /> method is equivalent to the SQL COMMIT statement. </remarks>
      <example>The following example creates a <see cref="T:Devart.Data.Oracle.OracleConnection" /> and a <see cref="T:Devart.Data.Oracle.OracleTransaction" />. It also demonstrates how to use the <see cref="M:Devart.Data.Oracle.OracleConnection.BeginTransaction" />, <see cref="M:Devart.Data.Oracle.OracleTransaction.Commit" />, and <see cref="M:Devart.Data.Oracle.OracleTransaction.Rollback" /> methods. <code lang="csharp">public void RunOracleTransaction(string myConnString)
{
  OracleConnection myConnection = new OracleConnection(myConnString);
  myConnection.Open();

  OracleCommand myCommand = new OracleCommand();
  OracleTransaction myTrans;

  // Start a local transaction
  myTrans = myConnection.BeginTransaction();
  // Assign transaction object for a pending local transaction
  myCommand.Transaction = myTrans;

  try
  {
    myCommand.CommandText = "INSERT INTO Test.Dept(DeptNo, DName) Values(50, 'DEVELOPMENT')";
    myCommand.ExecuteNonQuery();
    myCommand.CommandText = "INSERT INTO Test.Dept(DeptNo, DName) Values(60, 'PRODUCTION')";
    myCommand.ExecuteNonQuery();
    myTrans.Commit();
    Console.WriteLine("Both records are written to database.");
  }
  catch(Exception e)
  {
    myTrans.Rollback();
    Console.WriteLine(e.ToString());
    Console.WriteLine("Neither record was written to database.");
  }
  finally
  {
    myConnection.Close();
  }
} </code><code lang="vb">Public Sub RunOracleTransaction(myConnString As String)
  Dim myConnection As New OracleConnection(myConnString)
  myConnection.Open()

  Dim myCommand As New OracleCommand()
  Dim myTrans As OracleTransaction

  ' Start a local transaction
  myTrans = myConnection.BeginTransaction()
  ' Assign transaction object for a pending local transaction
  myCommand.Transaction = myTrans

  Try
    myCommand.CommandText = "INSERT INTO Test.Dept(DeptNo, DName) Values(50, 'DEVELOPMENT')"
    myCommand.ExecuteNonQuery()
    myCommand.CommandText = "INSERT INTO Test.Dept(DeptNo, DName) Values(60, 'PRODUCTION')"
    myCommand.ExecuteNonQuery()
    myTrans.Commit()
    Console.WriteLine("Both records are written to database.")
  Catch e As Exception
    myTrans.Rollback()
    Console.WriteLine(e.ToString())
    Console.WriteLine("Neither record was written to database.")
  Finally
    myConnection.Close()
  End Try
End Sub </code></example>
      <seealso cref="M:Devart.Data.Oracle.OracleConnection.BeginTransaction" />
      <seealso cref="M:Devart.Data.Oracle.OracleTransaction.Rollback" />
      <keywords>OracleTransaction.Commit method </keywords>
    </member>
    <member name="P:Devart.Data.Oracle.OracleTransaction.Connection">
      <summary>Gets the <see cref="T:Devart.Data.Oracle.OracleConnection" /> object associated with the transaction, or <see langword="null" /> if the transaction is no longer valid. </summary>
      <remarks>A single application may have multiple database connections, and each connection may have a transaction. This property enables you to determine the <see cref="T:Devart.Data.Oracle.OracleConnection" /> object associated with a particular transaction created by <see cref="M:Devart.Data.Oracle.OracleConnection.BeginTransaction()" />. </remarks>
      <keywords>OracleTransaction.Connection property </keywords>
      <value>The <see cref="T:Devart.Data.Oracle.OracleConnection" /> object associated with the transaction. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleTransaction.IsolationLevel">
      <summary>Specifies the <see cref="T:System.Data.IsolationLevel" /> for this transaction. </summary>
      <remarks>The <see cref="T:System.Data.IsolationLevel" /> applies to the entire transaction.
The following isolation levels are supported by dotConnect for Oracle:
<ul>
  <li>ReadCommitted</li>
  <li>Serializable</li>
</ul> </remarks>
      <keywords>OracleTransaction.IsolationLevel property </keywords>
      <value>The <see cref="T:System.Data.IsolationLevel" /> for this transaction. The default value is <see cref="T:System.Data.IsolationLevel.ReadCommitted" />. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleTransaction.Rollback()">
      <summary>Rollback rolls back a database transaction. </summary>
      <keywords>OracleTransaction.Rollback method </keywords>
      <overloads>Rollback rolls back a database transaction. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleTransaction.Rollback(System.String)">
      <summary>Rollback rolls back a database transaction to the specified savepoint. </summary>
      <keywords>OracleTransaction.Rollback method </keywords>
      <param name="savePointName">Name of the savepoint to rollback the transaction to. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleTransaction.Save(System.String)">
      <summary>Creates a savepoint within the current transaction. </summary>
      <remarks>After creating a savepoint the transaction does not enter a completed state and can be used for further operations. </remarks>
      <keywords>OracleTransaction.Save method </keywords>
      <param name="savePointName">The name of the savepoint being created in the current transaction. </param>
    </member>
    <member name="T:Devart.Data.Oracle.OracleType">
      <summary>Represents any Oracle object type defined by the user such as <see cref="T:Devart.Data.Oracle.OracleObject" />, <see cref="T:Devart.Data.Oracle.OracleArray" /> or <see cref="T:Devart.Data.Oracle.OracleTable" />. </summary>
      <remarks><para>An <see cref="T:Devart.Data.Oracle.OracleType" /> class serves to retrieve metadata. Use <see cref="T:Devart.Data.Oracle.OracleType" /> object for getting description information about the type. You can get name of the type, attributes collection and description of the element of the collection by <see cref="P:Devart.Data.Oracle.OracleType.ItemObjectType" /> property.</para>
<para>An <see cref="T:Devart.Data.Oracle.OracleType" /> does not have constructor and can be created only by calling static <see cref="M:Devart.Data.Oracle.OracleType.GetObjectType" /> function.</para>
 </remarks>
      <example><para>This example demonstrates how to retrieve <see cref="T:Devart.Data.Oracle.OracleType" /> object from server and display its elements. To create required type and table and fill it with data you can use the following script:
<pre>CREATE TYPE TAddress AS OBJECT (
  Country VARCHAR2(30),
  City VARCHAR2(30),
  Street VARCHAR2(30),
  Apartment NUMBER
);

CREATE TABLE EmpObject (
  Code NUMBER PRIMARY KEY,
  Person VARCHAR2(40),
  Address TAddress,
  Job VARCHAR2(9)
);

INSERT INTO EmpObject
  (Code, Person, Address, Job)
VALUES
  (1, 'SMITH', TAddress('UK', 'London', 'Street', 12), 'CLERK');
INSERT INTO EmpObject
  (Code, Person, Address, Job)
VALUES
  (2, 'JONES', TAddress('USA', 'New York', 'Street', 418), 'MANAGER');
INSERT INTO EmpObject
  (Code, Person, Address, Job)
VALUES
  (3, 'SCOTT', TAddress('CANADA', 'Ottawa', 'Street', 26),'PRESIDENT');
INSERT INTO EmpObject
  (Code, Person, Address, Job)
VALUES
  (4, 'MARTIN', TAddress('FRANCE', 'Paris', 'Street', 162), 'ANALYST');
</pre>
</para> <code lang="csharp">OracleConnection connection = new OracleConnection("User Id=scott;Password=tiger;Data Source=ora");
OracleCommand command = new OracleCommand("SELECT * FROM EmpObject", connection);
connection.Open();
OracleDataReader dataReader = command.ExecuteReader();
try{
  int index = dataReader.GetOrdinal("Address");
  while (dataReader.Read()) {
    OracleObject oraObj = dataReader.GetOracleObject(index);
    OracleType oraType = dataReader.GetObjectType(index);
    if (!oraObj.IsNull &amp; oraType != null) {
      Console.WriteLine(dataReader.GetString(1) +" - " + dataReader.GetString(3));
      Console.WriteLine("Adress:");
      for (int i = 0; i &lt; oraType.Attributes.Count; i++)
        Console.WriteLine( "\t" + oraObj[oraType.Attributes[i]]);
    }
  }
}
catch (Devart.Data.Oracle.OracleException ex) {
  Console.WriteLine(ex.Message);
}
finally{
  dataReader.Close();
  connection.Close();
} </code><code lang="vb">Dim connection As New OracleConnection("User Id=scott;Password=tiger;Data Source=ora")
Dim command As New OracleCommand("SELECT * FROM EmpObject", connection)
connection.Open()
Dim dataReader As OracleDataReader = command.ExecuteReader()
Try
  Dim index As Integer = dataReader.GetOrdinal("Address")
  While dataReader.Read()
    Dim oraObj As OracleObject = dataReader.GetOracleObject(index)
    Dim oraType As OracleType = dataReader.GetObjectType(index)
    If Not oraObj.IsNull And Not oraType Is Nothing Then
      Console.WriteLine(dataReader.GetString(1) &amp; " - " &amp; dataReader.GetString(3))
      Console.WriteLine("Adress:")
      Dim I As Integer
      For I = 0 To oraType.Attributes.Count - 1
        Console.WriteLine(Chr(9) &amp; oraObj(oraType.Attributes(I)))
      Next I
    End If
  End While
Catch ex As Devart.Data.Oracle.OracleException
  Console.WriteLine(ex.Message)
Finally
  dataReader.Close()
  connection.Close()
End Try </code></example>
    </member>
    <member name="P:Devart.Data.Oracle.OracleType.ArrayCapacity">
      <summary>Gets the number of elements that the <see cref="T:Devart.Data.Oracle.OracleArray" /> or <see cref="T:Devart.Data.Oracle.OracleTable" /> can contain. </summary>
      <keywords>OracleType.ArrayCapacity property </keywords>
      <value>The number of elements that the <see cref="T:Devart.Data.Oracle.OracleArray" /> or <see cref="T:Devart.Data.Oracle.OracleTable" /> can contain. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleType.Attributes">
      <summary>Gets a collection of the <see cref="T:Devart.Data.Oracle.OracleAttribute" /> objects for the Oracle object type. </summary>
      <remarks>The <see cref="T:Devart.Data.Oracle.OracleAttributeCollection" /> represents only describe information for the <see cref="T:Devart.Data.Oracle.OracleType" />. </remarks>
      <example><para>This example demonstrates how to retrieve <see cref="T:Devart.Data.Oracle.OracleType" /> object from server and display its attributes. To create required type and table and fill it with data you can use the following script:
<pre>CREATE TYPE TAddress AS OBJECT (
  Country VARCHAR2(30),
  City VARCHAR2(30),
  Street VARCHAR2(30),
  Apartment NUMBER
);

CREATE TABLE EmpObject (
  Code NUMBER PRIMARY KEY,
  Person VARCHAR2(40),
  Address TAddress,
  Job VARCHAR2(9)
);

INSERT INTO EmpObject
  (Code, Person, Address, Job)
VALUES
  (1, 'SMITH', TAddress('UK', 'London', 'Street', 12), 'CLERK');
INSERT INTO EmpObject
  (Code, Person, Address, Job)
VALUES
  (2, 'JONES', TAddress('USA', 'New York', 'Street', 418), 'MANAGER');
INSERT INTO EmpObject
  (Code, Person, Address, Job)
VALUES
  (3, 'SCOTT', TAddress('CANADA', 'Ottawa', 'Street', 26),'PRESIDENT');
INSERT INTO EmpObject
  (Code, Person, Address, Job)
VALUES
  (4, 'MARTIN', TAddress('FRANCE', 'Paris', 'Street', 162), 'ANALYST');
</pre>
</para> <code lang="csharp">OracleConnection connection = new OracleConnection("User Id=scott;Password=tiger;Data Source=ora");
OracleCommand command = new OracleCommand("SELECT * FROM EmpObject", connection);
connection.Open();
OracleDataReader dataReader = command.ExecuteReader();
try{
  int index = dataReader.GetOrdinal("Address");
  while (dataReader.Read()) {
    OracleObject oraObj = dataReader.GetOracleObject(index);
    OracleType oraType = dataReader.GetObjectType(index);
    if (!oraObj.IsNull &amp;&amp; oraType != null) {
      Console.WriteLine(dataReader.GetString(1) + " - " + dataReader.GetString(3));
      Console.WriteLine("Adress:");
      for (int i = 0; i &lt; oraType.Attributes.Count; i++)
        Console.WriteLine( "\t" + oraObj[oraType.Attributes[i]]);
    }
  }
}
catch (Devart.Data.Oracle.OracleException ex) {
  Console.WriteLine(ex.Message);
}
finally{
  dataReader.Close();
  connection.Close();
} </code><code lang="vb">Dim connection As New OracleConnection("User Id=scott;Password=tiger;Data Source=ora")
Dim command As New OracleCommand("SELECT * FROM EmpObject", connection)
connection.Open()
Dim dataReader As OracleDataReader = command.ExecuteReader()
Try
  Dim index As Integer = dataReader.GetOrdinal("Address")
  While dataReader.Read()
    Dim oraObj As OracleObject = dataReader.GetOracleObject(index)
    Dim oraType As OracleType = dataReader.GetObjectType(index)
    If Not oraObj.IsNull And Not oraType Is Nothing Then
      Console.WriteLine(dataReader.GetString(1) &amp; " - " &amp; dataReader.GetString(3))
      Console.WriteLine("Adress:")
      Dim I As Integer
      For I = 0 To oraType.Attributes.Count - 1
        Console.WriteLine(Chr(9) &amp; oraObj(oraType.Attributes(I)))
      Next I
    End If
  End While
Catch ex As Devart.Data.Oracle.OracleException
  Console.WriteLine(ex.Message)
Finally
  dataReader.Close()
  connection.Close()
End Try </code></example>
      <keywords>OracleType.Attributes property </keywords>
      <value>An <see cref="T:Devart.Data.Oracle.OracleAttributeCollection" /> if <see cref="T:Devart.Data.Oracle.OracleType" /> is the Oracle object type; otherwise, null. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleType.CompareTo(System.Object)">
      <summary>Compares the current <see cref="T:Devart.Data.Oracle.OracleType" /> with the specified object and returns an integer that represents their relative values. </summary>
      <keywords>OracleType.CompareTo method </keywords>
      <param name="obj">The object to be compared. </param>
      <returns>A signed number indicating the relative values of the current <see cref="T:Devart.Data.Oracle.OracleType" /> structure and the object.
<list type="table">
  <listheader>
    <term>Return Value</term>
    <description>Condition</description>
  </listheader>
  <item>
    <term>Less than zero</term>
    <description>The value of the current <see cref="T:Devart.Data.Oracle.OracleType" /> object is less than the object.</description>
  </item>
  <item>
    <term>Zero</term>
    <description>The current <see cref="T:Devart.Data.Oracle.OracleType" /> object is the same to the object.</description>
   </item>
   <item>
     <term>Greater than zero</term>
     <description>The current <see cref="T:Devart.Data.Oracle.OracleType" /> object is greater than the object.</description>
   </item>
</list> </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleType.DbType">
      <summary>Determines what type the <see cref="T:Devart.Data.Oracle.OracleType" /> represents - OBJECT, VARRAY or Nested table. </summary>
      <remarks>Values from the <see cref="T:Devart.Data.Oracle.OracleDbType" /> enumeration correspond to the following Oracle definitions:
<para>  - Object - a type representing as OBJECT;</para>
<para>  - Array - a type representing as VARRAY;</para>
<para>  - Table - a type representing as Nested table.</para> </remarks>
      <keywords>OracleType.DbType property </keywords>
      <value>One of the <see cref="T:Devart.Data.Oracle.OracleObject" />, <see cref="T:Devart.Data.Oracle.OracleArray" /> or <see cref="T:Devart.Data.Oracle.OracleTable" /> values from the <see cref="T:Devart.Data.Oracle.OracleDbType" /> enumeration. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleType.Describe(Devart.Data.Oracle.OracleConnection)">
      <summary>Describes the <see cref="T:Devart.Data.Oracle.OracleType" /> on the server. </summary>
      <keywords>OracleType.Describe method </keywords>
      <param name="connection">An <see cref="T:Devart.Data.Oracle.OracleConnection" /> to use. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleType.Equals(System.Object)">
      <summary>Determines whether the specified <see cref="T:Devart.Data.Oracle.OracleType" /> is equal to the current OracleType object. </summary>
      <keywords>OracleType.Equals method </keywords>
      <param name="value">The object to compare with the current object. </param>
      <returns><see langword="true" /> if the specified <see cref="T:Devart.Data.Oracle.OracleType" /> is equal to the current object; otherwise, <see langword="false" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleType.GetHashCode()">
      <summary>Serves as a hash function for a particular type, suitable for use in hashing algorithms and data structures like a hash table. </summary>
      <keywords>OracleType.GetHashCode method </keywords>
      <returns>A hash code for the current <see cref="T:Devart.Data.Oracle.OracleType" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleType.GetObjectType(System.String,Devart.Data.Oracle.OracleConnection)">
      <summary>Gets type of the object as <see cref="T:Devart.Data.Oracle.OracleType" />. </summary>
      <remarks>The name of the type can be specified as [schemaname].[typename] or just [typename]. At the last case the current schema will be used. </remarks>
      <keywords>OracleType.GetObjectType method </keywords>
      <param name="name">The name of the object type at the server. </param>
      <param name="connection">The <see cref="T:Devart.Data.Oracle.OracleConnection" /> object used to describe type at the server. </param>
      <returns>The <see cref="T:Devart.Data.Oracle.OracleType" /> that represents describe of the object type. </returns>
      <overloads>Gets type of the object as <see cref="T:Devart.Data.Oracle.OracleType" />. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleType.GetObjectType(System.String,System.String,Devart.Data.Oracle.OracleConnection)">
      <summary>Gets type of the object as <see cref="T:Devart.Data.Oracle.OracleType" />. </summary>
      <keywords>OracleType.GetObjectType method </keywords>
      <param name="schemaName">The name of the schema that contains <paramref name="typeName" /> object type. </param>
      <param name="typeName">The name of the object type at the server. </param>
      <param name="connection">The <see cref="T:Devart.Data.Oracle.OracleConnection" /> object used to describe type at the server. </param>
      <returns>The <see cref="T:Devart.Data.Oracle.OracleType" /> that represents describe of the object type. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleType.GetObjectType(System.String,System.String,System.String)">
      <summary>Gets type of the object as <see cref="T:Devart.Data.Oracle.OracleType" />. </summary>
      <keywords>OracleType.GetObjectType method </keywords>
      <param name="schemaName">The name of the schema that contains <paramref name="typeName" /> object type. </param>
      <param name="typeName">The name of the object type at the server. </param>
      <param name="connectionString">The connection string used to describe the type at the server. </param>
      <returns>The <see cref="T:Devart.Data.Oracle.OracleType" /> that represents describe of the object type. </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleType.IsDescribed">
      <summary>Gets the value indicating whether the <see cref="T:Devart.Data.Oracle.OracleType" /> is described on the server. </summary>
      <keywords>OracleType.IsDescribed property </keywords>
      <value><see langword="true" /> if the specified <see cref="T:Devart.Data.Oracle.OracleType" /> is described on the server; otherwise, <see langword="false" />. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleType.ItemDbType">
      <summary>Gets type of the element from the collection. </summary>
      <keywords>OracleType.ItemDbType property </keywords>
      <value>One of the values from <see cref="T:Devart.Data.Oracle.OracleDbType" /> enumeration. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleType.ItemObjectType">
      <summary>Gets object type of the element for VARRAY or Nested table types. </summary>
      <remarks>Use <see cref="P:Devart.Data.Oracle.OracleType.DbType" /> property to determine whether given <see cref="T:Devart.Data.Oracle.OracleType" /> is representing as VARRAY or Nested table. </remarks>
      <keywords>OracleType.ItemObjectType property </keywords>
      <value>The <see cref="T:Devart.Data.Oracle.OracleType" /> of the element from the collection, or null if the <see cref="T:Devart.Data.Oracle.OracleType" /> is not VARRAY or Nested table type. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleType.Name">
      <summary>Gets type name of the object. </summary>
      <remarks>Name of the type is retrieved in [schemaname].[typename] format. </remarks>
      <keywords>OracleType.Name property </keywords>
      <value>String that represents name of the type. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleType.SchemaName">
      <summary>Gets the name of the schema that the type belongs to. </summary>
      <keywords>OracleType.SchemaName property </keywords>
      <value>The name of the schema. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleType.TypeName">
      <summary>Gets the name of the type on the server. </summary>
      <keywords>OracleType.TypeName property </keywords>
      <value>The name of the type. </value>
    </member>
    <member name="P:Devart.Data.Oracle.OracleType.UdtType">
      <summary>Gets or sets the user-defined type. </summary>
      <keywords>OracleType.UdtType property </keywords>
      <value>A <see cref="T:System.Type" /> defined by user. </value>
    </member>
    <member name="T:Devart.Data.Oracle.OracleXml">
      <summary>Represents an Oracle XMLType instance. </summary>
      <remarks>Use <see cref="T:Devart.Data.Oracle.OracleXml" /> object to represent XML data at Oracle database. Values of <see cref="T:Devart.Data.Oracle.OracleXml" /> type can be retrived from <see cref="T:Devart.Data.Oracle.OracleDataReader" /> and passed to <see cref="T:Devart.Data.Oracle.OracleParameter" /> object.
 </remarks>
      <example><para>This sample demonstrates how you can operate with the OracleXml class. Here a simple OracleXml object is created and inserted into the database. After that, it is shown how to transform XML via the XSL schema and extract its fragments using XPath expressions.</para>

<para>To run this sample, you need to execute the following script in your Oracle database:</para>

<pre>CREATE TABLE CDs (
   ID NUMBER,
   DISC(XMLTYPE)
)</pre> <code lang="csharp">            // Initialize and open a connection to the Oracle server
            OracleConnection connection = new OracleConnection();
            connection.Server = "Ora";
            connection.UserId = "Scott";
            connection.Password = "tiger";
            connection.Open();

            // Initialize an OracleXml instance with simple xml content
            string content = @"
	            &lt;catalog&gt;
	            &lt;cd&gt;
	            &lt;title&gt;Empire Burlesque&lt;/title&gt;
	            &lt;artist&gt;Bob Dylan&lt;/artist&gt;
	            &lt;country&gt;USA&lt;/country&gt;
	            &lt;company&gt;Columbia&lt;/company&gt;
	            &lt;price&gt;10.90&lt;/price&gt;
	            &lt;year&gt;1985&lt;/year&gt;
	            &lt;/cd&gt;
	            &lt;/catalog&gt;
	            ";
            OracleXml xml = new OracleXml(content, connection);

            // Insert the xml object into the table with a field of the Oracle XML type
            OracleCommand command = new OracleCommand("insert into CDs(id, disc) values(10, :disc)", connection);
            command.Parameters.Add(new OracleParameter("disc", xml));
            command.ExecuteNonQuery();
            
            // Use an XSL transformation to create an HTML page representing the content of the xml object.
            string transformation = @"
	            &lt;xsl:stylesheet version=""1.0"" xmlns:xsl=""http://www.w3.org/1999/XSL/Transform""&gt;

            	&lt;xsl:template match=""/""&gt;
	            &lt;html&gt;
	            &lt;body&gt;
	            &lt;h2&gt;My CD Collection&lt;/h2&gt;
	            &lt;table border=""1""&gt;
	            &lt;tr bgcolor=""#9acd32""&gt;
	            &lt;th&gt;Title&lt;/th&gt;
	            &lt;th&gt;Artist&lt;/th&gt;
	            &lt;/tr&gt;
	            &lt;xsl:for-each select=""catalog/cd""&gt;
	            &lt;tr&gt;
	            &lt;td&gt;&lt;xsl:value-of select=""title""/&gt;&lt;/td&gt;
	            &lt;td&gt;&lt;xsl:value-of select=""artist""/&gt;&lt;/td&gt;
	            &lt;/tr&gt;
	            &lt;/xsl:for-each&gt;
	            &lt;/table&gt;
	            &lt;/body&gt;
	            &lt;/html&gt;
	            &lt;/xsl:template&gt;

	            &lt;/xsl:stylesheet&gt;
            	";
            OracleXml transformed = xml.Transform(transformation);
            Console.WriteLine(transformed.Value);

            // Retrieve an XML fragment by the XPath expression specified:
            OracleXml extracted = xml.Extract("catalog/cd/price", "");
            Console.WriteLine("The price elements:");
            Console.WriteLine(extracted.Value);

            Console.ReadLine(); </code><code lang="vb">        ' Initialize and open a connection to the Oracle server
        Dim connection As New OracleConnection()
        connection.Server = "Ora"
        connection.UserId = "Scott"
        connection.Password = "tiger"
        connection.Open()

        ' Initialize an OracleXml instance with simple xml content
        Dim content As String = "&lt;catalog&gt;" + vbCrLf + &amp;
                "&lt;cd&gt;" + vbCrLf + &amp;
                "&lt;title&gt;Empire Burlesque&lt;/title&gt;" + vbCrLf + &amp;
                "&lt;artist&gt;Bob Dylan&lt;/artist&gt;" + vbCrLf + &amp;
                "&lt;country&gt;USA&lt;/country&gt;" + vbCrLf + &amp;
                "&lt;company&gt;Columbia&lt;/company&gt;" + vbCrLf + &amp;
                "&lt;price&gt;10.90&lt;/price&gt;" + vbCrLf + &amp;
                "&lt;year&gt;1985&lt;/year&gt;" + vbCrLf + &amp;
                "&lt;/cd&gt;" + vbCrLf + &amp;
                "&lt;/catalog&gt;"

        Dim xml As New OracleXml(content, connection)

        ' Insert the xml object into the field of the Oracle XML type
        Dim command As New OracleCommand("insert into CDs(id, disc) values(10, :disc)", connection)
        command.Parameters.Add(New OracleParameter("disc", xml))
        command.ExecuteNonQuery()

        ' Use an XSL transformation to create an HTML page representing the content of the xml object.
        Dim transformation As String = "&lt;xsl:stylesheet version=""1.0"" xmlns:xsl=""http://www.w3.org/1999/XSL/Transform""&gt;" + vbCrLf + &amp;
                "&lt;xsl:template match=""/""&gt;" + vbCrLf + &amp;
                "&lt;html&gt;" + vbCrLf + &amp;
                "&lt;body&gt;" + vbCrLf + &amp;
                "&lt;h2&gt;My CD Collection&lt;/h2&gt;" + vbCrLf + &amp;
                "&lt;table border=""1""&gt;" + vbCrLf + &amp;
                "&lt;tr bgcolor=""#9acd32""&gt;" + vbCrLf + &amp;
                "&lt;th&gt;Title&lt;/th&gt;" + vbCrLf + &amp;
                "&lt;th&gt;Artist&lt;/th&gt;" + vbCrLf + &amp;
                "&lt;/tr&gt;" + vbCrLf + &amp;
                "&lt;xsl:for-each select=""catalog/cd""&gt;" + vbCrLf + &amp;
                "&lt;tr&gt;" + vbCrLf + &amp;
                "&lt;td&gt;&lt;xsl:value-of select=""title""/&gt;&lt;/td&gt;" + vbCrLf + &amp;
                "&lt;td&gt;&lt;xsl:value-of select=""artist""/&gt;&lt;/td&gt;" + vbCrLf + &amp;
                "&lt;/tr&gt;" + vbCrLf + &amp;
                "&lt;/xsl:for-each&gt;" + vbCrLf + &amp;
                "&lt;/table&gt;" + vbCrLf + &amp;
                "&lt;/body&gt;" + vbCrLf + &amp;
                "&lt;/html&gt;" + vbCrLf + &amp;
                "&lt;/xsl:template&gt;" + vbCrLf + &amp;
                "&lt;/xsl:stylesheet&gt;"
        Dim transformed = xml.Transform(transformation)
        Console.WriteLine(transformed.Value)

        ' Retrieve an XML fragment by the XPath expression specified:
        Dim extracted = xml.Extract("catalog/cd/price", "")
        Console.WriteLine("The price elements:")
        Console.WriteLine(extracted.Value)

        Console.ReadLine() </code></example>
    </member>
    <member name="M:Devart.Data.Oracle.OracleXml.#ctor()">
      <summary>Initializes an empty <see cref="T:Devart.Data.Oracle.OracleXml" /> object. </summary>
      <overloads>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleXml" /> class. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleXml.#ctor(Devart.Data.Oracle.OracleConnection)">
      <summary>Initializes an empty <see cref="T:Devart.Data.Oracle.OracleXml" /> object with the specified connection. </summary>
      <param name="connection">An OCI connection used for XML parsing and transformation. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleXml.#ctor(Devart.Data.Oracle.OracleLob)">
      <summary>Initializes an <see cref="T:Devart.Data.Oracle.OracleXml" /> object with the specified connection and XML data defined as an Oracle LOB. </summary>
      <param name="lob">An <see cref="T:Devart.Data.Oracle.OracleLob" /> object containing XML data. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleXml.#ctor(Devart.Data.Oracle.OracleLob,Devart.Data.Oracle.OracleConnection)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleXml" /> class with the specified XML data as <see cref="T:Devart.Data.Oracle.OracleLob" /> object. </summary>
      <param name="lob">An <see cref="T:Devart.Data.Oracle.OracleLob" /> object containing XML data. </param>
      <param name="connection">An OCI connection used for XML parsing and transformation. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleXml.#ctor(System.Char[])">
      <summary>Initializes an <see cref="T:Devart.Data.Oracle.OracleXml" /> object with the specified XML data as an array of symbols. </summary>
      <param name="value">An array of symbols containing XML data. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleXml.#ctor(System.Char[],Devart.Data.Oracle.OracleConnection)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleXml" /> class with the specified XML data as an array of symbols. </summary>
      <param name="value">An array of symbols containing XML data. </param>
      <param name="connection">An OCI connection used for XML parsing and transformation. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleXml.#ctor(System.String)">
      <summary>Initializes an <see cref="T:Devart.Data.Oracle.OracleXml" /> object with the specified XML data as string. </summary>
      <param name="value">A string containing XML data. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleXml.#ctor(System.String,Devart.Data.Oracle.OracleConnection)">
      <summary>Initializes a new instance of the <see cref="T:Devart.Data.Oracle.OracleXml" /> class with the specified connection and XML data defined as a string. </summary>
      <param name="value">A string containing XML data. </param>
      <param name="connection">An OCI connection used for XML parsing and transformation. </param>
    </member>
    <member name="M:Devart.Data.Oracle.OracleXml.Extract(System.String,System.String)">
      <summary>Extracts a fragment of XML by the specified XPath expression. </summary>
      <keywords>OracleXml.Extract method </keywords>
      <param name="xpathExpr">The XPath expression. </param>
      <param name="nsMap">Parameter used for namespace resolution of the XPath expression. </param>
      <returns>XML fragment represented as <see cref="T:Devart.Data.Oracle.OracleXml" />. </returns>
      <overloads>Extracts a fragment of XML by the specified XPath expression. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleXml.Extract(System.String,System.Xml.XmlNamespaceManager)">
      <summary>Extracts a fragment of XML by the specified XPath expression. </summary>
      <keywords>OracleXml.Extract method </keywords>
      <param name="xpathExpr">The XPath expression. </param>
      <param name="nsMgr">Parameter used for namespace resolution of the XPath expression. </param>
      <returns>XML fragment represented as <see cref="T:Devart.Data.Oracle.OracleXml" />. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleXml.GetXmlDocument()">
      <summary>Converts the specified <see cref="T:Devart.Data.Oracle.OracleXml" /> to the <see cref="T:System.Xml.XmlDocument" /> object that includes XML data of this object. </summary>
      <keywords>OracleXml.GetXmlDocument method </keywords>
      <returns>A <see cref="T:System.Xml.XmlDocument" /> object. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleXml.GetXmlReader()">
      <summary>Returns <see cref="T:System.Xml.XmlReader" /> object connected with XML data of the <see cref="T:Devart.Data.Oracle.OracleXml" />. </summary>
      <remarks>You can use this method to work with XML data through native .NET Framework classes. </remarks>
      <keywords>OracleXml.GetXmlReader method </keywords>
      <returns>A <see cref="T:System.Xml.XmlReader" /> object. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleXml.IsExists(System.String,System.String)">
      <summary>Determines by the specified XPath expression whether XML node exists. </summary>
      <keywords>OracleXml.IsExists method </keywords>
      <param name="xpathExpr">The XPath expression. </param>
      <param name="nsMap">Parameter used for namespace resolution of the XPath expression. </param>
      <returns><see langword="true" /> if the specified node is found; otherwise, <see langword="false" />. </returns>
      <overloads>Determines whether XML node exists by the specified XPath expression. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleXml.IsExists(System.String,System.Xml.XmlNamespaceManager)">
      <summary>Determines by the specified XPath expression whether XML node exists. </summary>
      <keywords>OracleXml.IsExists method </keywords>
      <param name="xpathExpr">The XPath expression. </param>
      <param name="nsMgr">Parameter used for namespace resolution of the XPath expression. </param>
      <returns><see langword="true" /> if the specified node is found; otherwise, <see langword="false" />.Determines </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleXml.IsNull">
      <summary>Specifies whether the <see cref="T:Devart.Data.Oracle.OracleXml" /> object is empty </summary>
      <keywords>OracleXml.IsNull property </keywords>
      <value><see langword="true" />, if the Value property is null. Otherwise <see langword="false" />. </value>
    </member>
    <member name="M:Devart.Data.Oracle.OracleXml.ToString()">
      <summary>Converts the specified <see cref="T:Devart.Data.Oracle.OracleXml" /> object to a <see cref="T:System.String" /> representing XML data. </summary>
      <keywords>OracleXml.ToString method </keywords>
      <returns>A <see cref="T:System.String" /> object containing XML data. </returns>
    </member>
    <member name="M:Devart.Data.Oracle.OracleXml.Transform(Devart.Data.Oracle.OracleXml)">
      <summary>Transforms the current <see cref="T:Devart.Data.Oracle.OracleXml" /> object according to the specified XSL schema. </summary>
      <keywords>OracleXml.Transform method </keywords>
      <param name="xsldoc">XSL schema to transform <see cref="T:Devart.Data.Oracle.OracleXml" />. </param>
      <returns>A new <see cref="T:Devart.Data.Oracle.OracleXml" /> received as a result of the transformation. </returns>
      <overloads>Transforms the current <see cref="T:Devart.Data.Oracle.OracleXml" /> object according to the specified XSL schema. </overloads>
    </member>
    <member name="M:Devart.Data.Oracle.OracleXml.Transform(System.String)">
      <summary>Transforms the current <see cref="T:Devart.Data.Oracle.OracleXml" /> object according to the specified XSL schema. </summary>
      <keywords>OracleXml.Transform method </keywords>
      <param name="xsldoc">XSL schema to transform <see cref="T:Devart.Data.Oracle.OracleXml" />. </param>
      <returns>A new <see cref="T:Devart.Data.Oracle.OracleXml" /> received as a result of the transformation. </returns>
    </member>
    <member name="P:Devart.Data.Oracle.OracleXml.Value">
      <summary>Gets a string representing XML data of the specified <see cref="T:Devart.Data.Oracle.OracleXml" /> object. </summary>
      <keywords>OracleXml.Value property </keywords>
      <value>A <see cref="T:System.String" /> containing XML data. </value>
    </member>
    <member name="T:Devart.Data.Oracle.PlSqlTraceMode">
      <summary>Defines the level of PL/SQL trace for the <see cref="T:Devart.Data.Oracle.OracleTrace" /> component. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.PlSqlTraceMode.AllCalls">
      <summary>Trace all calls. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.PlSqlTraceMode.AllExceptions">
      <summary>Trace all exceptions. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.PlSqlTraceMode.AllLines">
      <summary>Trace all lines. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.PlSqlTraceMode.AllSql">
      <summary>Trace all SQL executions. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.PlSqlTraceMode.EnabledCalls">
      <summary>Trace calls to enabled PL/SQL units only. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.PlSqlTraceMode.EnabledExceptions">
      <summary>Trace exceptions raised in the enabled PL/SQL units only. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.PlSqlTraceMode.EnabledLines">
      <summary>Trace lines in enabled PL/SQL units only. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.PlSqlTraceMode.EnabledSql">
      <summary>Trace SQL executions in the enabled PL/SQL units only. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.PlSqlTraceMode.Unknown">
      <summary>Unknown mode. </summary>
    </member>
    <member name="T:Devart.Data.Oracle.ReadLobMode">
      <summary>Determines how LOB data is fetched and represented. </summary>
      <seealso cref="P:Devart.Data.Oracle.OracleDataTable.ReadLobMode" />
    </member>
    <member name="F:Devart.Data.Oracle.ReadLobMode.CachedDirect">
      <summary>LOB objects are treated as instances <see cref="T:Devart.Data.Oracle.OracleLob" />, fetched immediately, and stored in cache, so on consequent data fetch operations the LOB object will not be requested again from the server. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.ReadLobMode.Deferred">
      <summary>LOB objects are treated as instances <see cref="T:Devart.Data.Oracle.OracleLob" />. The actual LOB data is fetched only when the field value is requested. The cache is not used. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.ReadLobMode.DefferedCachedDirect">
      <summary>LOB objects are treated as instances <see cref="T:Devart.Data.Oracle.OracleLob" />. The actual LOB data is fetched only when the field value is requested. The cache is used. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.ReadLobMode.Direct">
      <summary>LOB objects are treated as instances <see cref="T:Devart.Data.Oracle.OracleLob" />, and fetched immediately. The cache is not used, so on consequent data fetch operations the LOB object will be read again from the server. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.ReadLobMode.Value">
      <summary>LOB objects are treated as byte arrays or strings, and fetched immediately. </summary>
    </member>
    <member name="T:Devart.Data.Oracle.SqlPlusStatementType">
      <summary>Describes type of SQL*Plus command. Unless the corresponding SQL*Plus command name is explicitly specified, it coincides with the enumeration member's title. The functionality of corresponding commands in SQL*Plus is given below. </summary>
      <seealso cref="P:Devart.Data.Oracle.SqlStatementExecuteEventArgs.SqlPlusStatementType" />
    </member>
    <member name="F:Devart.Data.Oracle.SqlPlusStatementType.Accept">
      <summary>Represents the ACCEPT SQL*Plus command. In SQL*Plus this command reads a line of input and stores it in a given user variable. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.SqlPlusStatementType.Append">
      <summary>Represents the APPEND SQL*Plus command. In SQL*Plus this command adds specified text to the end of the current line in the buffer. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.SqlPlusStatementType.Archive">
      <summary>Represents the ARCHIVE SQL*Plus command. In SQL*Plus this command starts or stops the automatic archiving of online redo log files, manually (explicitly) archives specified redo log files, or displays information about redo log files. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.SqlPlusStatementType.Attribute">
      <summary>Represents the ATTRIBUTE SQL*Plus command. In SQL*Plus this command specifies display characteristics for a given attribute of an Object Type column, and lists the current display characteristics for a single attribute or all attributes. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.SqlPlusStatementType.Break">
      <summary>Represents the BREAK SQL*Plus command. In SQL*Plus this command specifies where and how formatting will change in a report, or lists the current break definition. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.SqlPlusStatementType.Btitle">
      <summary>Represents the BTITLE SQL*Plus command. In SQL*Plus this command places and formats a specified title at the bottom of each report page, or lists the current BTITLE definition. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.SqlPlusStatementType.Change">
      <summary>Represents the CHANGE SQL*Plus command. In SQL*Plus this command changes text on the current line in the buffer. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.SqlPlusStatementType.Clear">
      <summary>Represents the CLEAR SQL*Plus command. In SQL*Plus this command resets or erases the current clause or setting for the specified option, such as BREAKS or COLUMNS. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.SqlPlusStatementType.Column">
      <summary>Represents the COLUMN SQL*Plus command. In SQL*Plus this command specifies display characteristics for a given column, or lists the current display characteristics for a single column or for all columns. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.SqlPlusStatementType.Compute">
      <summary>Represents the COMPUTE SQL*Plus command. In SQL*Plus this command calculates and prints summary lines, using various standard computations, on subsets of selected rows, or lists all COMPUTE definitions. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.SqlPlusStatementType.Connect">
      <summary>Represents the CONNECT SQL*Plus command. In SQL*Plus this command connects a given user to Oracle. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.SqlPlusStatementType.Copy">
      <summary>Represents the COPY SQL*Plus command. In SQL*Plus this command copies results from a query to a table in a local or remote database. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.SqlPlusStatementType.Define">
      <summary>Represents the DEFINE SQL*Plus command. In SQL*Plus this command specifies a user variable and assigns it a CHAR value, or lists the value and variable type of a single variable or all variables. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.SqlPlusStatementType.Del">
      <summary>Represents the DEL SQL*Plus command. In SQL*Plus this command deletes one or more lines of the buffer. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.SqlPlusStatementType.Describe">
      <summary>Represents the DESCRIBE SQL*Plus command. In SQL*Plus this command lists the column definitions for the specified table, view, or synonym or the specifications for the specified function or procedure. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.SqlPlusStatementType.Disconnect">
      <summary>Represents the DISCONNECT SQL*Plus command. In SQL*Plus this command commits pending changes to the database and logs the current user off Oracle, but does not exit SQL*Plus. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.SqlPlusStatementType.Edit">
      <summary>Represents the EDIT SQL*Plus command. In SQL*Plus this command invokes a host operating system text editor on the contents of the specified file or on the contents of the buffer. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.SqlPlusStatementType.Execute">
      <summary>Represents the EXECUTE SQL*Plus command. In SQL*Plus this command executes a single PL/SQL statement. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.SqlPlusStatementType.Get">
      <summary>Represents the GET SQL*Plus command. In SQL*Plus this command loads a host operating system file into the SQL buffer. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.SqlPlusStatementType.Help">
      <summary>Represents the HELP SQL*Plus command. In SQL*Plus this command accesses the SQL*Plus help system. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.SqlPlusStatementType.Host">
      <summary>Represents the HOST SQL*Plus command. In SQL*Plus this command executes a host operating system command without leaving SQL*Plus. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.SqlPlusStatementType.Input">
      <summary>Represents the INPUT SQL*Plus command. In SQL*Plus this command adds one or more new lines after the current line in the buffer. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.SqlPlusStatementType.List">
      <summary>Represents the LIST SQL*Plus command. In SQL*Plus this command lists one or more lines of the SQL buffer. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.SqlPlusStatementType.Password">
      <summary>Represents the PASSWORD SQL*Plus command. In SQL*Plus this command allows a password to be changed without echoing the password on an input device. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.SqlPlusStatementType.Pause">
      <summary>Represents the PAUSE SQL*Plus command. In SQL*Plus this command displays the specified text, then waits for the user to press Return. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.SqlPlusStatementType.Print">
      <summary>Represents the PRINT SQL*Plus command. In SQL*Plus this command displays the current value of a bind variable. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.SqlPlusStatementType.Prompt">
      <summary>Represents the PROMPT SQL*Plus command. In SQL*Plus this command sends the specified message to the user's screen. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.SqlPlusStatementType.Quit">
      <summary> Represents the QUIT SQL*Plus command. This command terminates SQL*Plus and returns control to the operating system. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.SqlPlusStatementType.Recover">
      <summary>Represents the RECOVER SQL*Plus command. In SQL*Plus this command performs media recovery on one or more tablespaces, one or more datafiles, or the entire database. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.SqlPlusStatementType.Remark">
      <summary>Represents the REMARK SQL*Plus command. In SQL*Plus this command begins a comment in a script. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.SqlPlusStatementType.Repfooter">
      <summary>Represents the REPFOOTER SQL*Plus command. In SQL*Plus this command places and formats a specified report footer at the bottom of each report, or lists the current REPFOOTER definition. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.SqlPlusStatementType.Repheader">
      <summary>Represents the REPHEADER SQL*Plus command. In SQL*Plus this command pRepresents the APPEND SQL*Plus command. In SQL*Plus this command </summary>
    </member>
    <member name="F:Devart.Data.Oracle.SqlPlusStatementType.Run">
      <summary>Represents the RUN SQL*Plus command. In SQL*Plus this command lists and executes the SQL command or PL/SQL block currently stored in the SQL buffer. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.SqlPlusStatementType.Save">
      <summary>Represents the SAVE SQL*Plus command. In SQL*Plus this command saves the contents of the SQL buffer in a host operating system file (a script). </summary>
    </member>
    <member name="F:Devart.Data.Oracle.SqlPlusStatementType.Set">
      <summary>Represents the SET SQL*Plus command. In SQL*Plus this command sets a system variable to alter the SQL*Plus environment for your current session. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.SqlPlusStatementType.Show">
      <summary>Represents the SHOW SQL*Plus command. In SQL*Plus this command shows the value of a SQL*Plus system variable or the current SQL*Plus environment. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.SqlPlusStatementType.Shutdown">
      <summary>Represents the SHUTDOWN SQL*Plus command. In SQL*Plus this command shuts down a currently running Oracle instance. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.SqlPlusStatementType.Spool">
      <summary>Represents the SPOOL SQL*Plus command. In SQL*Plus this command stores query results in an operating system file and, optionally, sends the file to a printer. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.SqlPlusStatementType.Start">
      <summary>Represents the START SQL*Plus command. In SQL*Plus this command executes the contents of the specified script. The script can only be called from a url. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.SqlPlusStatementType.StartEx">
      <summary>Represents the @@ SQL*Plus command. In SQL*Plus this command runs a script; looks for the specified script in the same path as the script from which it was called. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.SqlPlusStatementType.Startup">
      <summary>Represents the STARTUP SQL*Plus command. In SQL*Plus this command starts an Oracle instance and optionally mounts and opens a database. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.SqlPlusStatementType.Store">
      <summary>Represents the STORE SQL*Plus command. In SQL*Plus this command saves attributes of the current SQL*Plus environment in a host operating system file (a script). </summary>
    </member>
    <member name="F:Devart.Data.Oracle.SqlPlusStatementType.Timing">
      <summary>Represents the TIMING SQL*Plus command. In SQL*Plus this command records timing data for an elapsed period of time, lists the current timer's title and timing data, or lists the number of active timers. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.SqlPlusStatementType.Ttitle">
      <summary>Represents the TTITLE SQL*Plus command. In SQL*Plus this command places and formats a specified title at the top of each report page, or lists the current TTITLE definition. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.SqlPlusStatementType.Undefine">
      <summary>Represents the UNDEFINE SQL*Plus command. In SQL*Plus this command deletes one or more user variables that you defined either explicitly (with the DEFINE command) or implicitly (with an argument to the START command). </summary>
    </member>
    <member name="F:Devart.Data.Oracle.SqlPlusStatementType.Unknown">
      <summary>The SQL*Plus command type is not set. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.SqlPlusStatementType.Variable">
      <summary>Represents the VARIABLE SQL*Plus command. In SQL*Plus this command declares a bind variable that can be referenced in PL/SQL. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.SqlPlusStatementType.Whenever">
      <summary>Represents the "WHENEVER OSERROR" or "WHENEVER SQLERROR" SQL*Plus command. This command exits SQL*Plus if either an operating system command or SQL command or PL/SQL block generates an error. </summary>
    </member>
    <member name="T:Devart.Data.Oracle.SqlStatementExecuteEventArgs">
      <summary>Provides data for the <see cref="E:Devart.Data.Oracle.OracleScript.SqlStatementExecute" /> event of the <see cref="T:Devart.Data.Oracle.OracleScript" /> class. </summary>
      <remarks>The <see cref="E:Devart.Data.Oracle.OracleScript.SqlStatementExecute" /> event contains all information about a statement. </remarks>
      <seealso cref="E:Devart.Data.Oracle.OracleScript.SqlStatementExecute" />
      <seealso cref="T:Devart.Data.Oracle.SqlStatementExecuteEventHandler" />
    </member>
    <member name="P:Devart.Data.Oracle.SqlStatementExecuteEventArgs.Length">
      <summary>Gets length of the statement in symbols. </summary>
      <keywords>SqlStatementExecuteEventArgs.Length property </keywords>
      <value>Length of the statement. </value>
    </member>
    <member name="P:Devart.Data.Oracle.SqlStatementExecuteEventArgs.LineNumber">
      <summary>Gets number of line in the whole script where the statement can be located. </summary>
      <keywords>SqlStatementExecuteEventArgs.LineNumber property </keywords>
      <value>Number of line in the whole script. </value>
    </member>
    <member name="P:Devart.Data.Oracle.SqlStatementExecuteEventArgs.LinePosition">
      <summary>Gets position of the statement in its line. </summary>
      <remarks>Read the property to get offset of the statement from the beginning of the line where it can be located. </remarks>
      <keywords>SqlStatementExecuteEventArgs.LinePosition property </keywords>
      <value>Position of the statement. </value>
    </member>
    <member name="P:Devart.Data.Oracle.SqlStatementExecuteEventArgs.Offset">
      <summary>Gets offset of the statement in the whole script text. </summary>
      <keywords>SqlStatementExecuteEventArgs.Offset property </keywords>
      <value>Offset of the statement in the script text. </value>
    </member>
    <member name="P:Devart.Data.Oracle.SqlStatementExecuteEventArgs.Reader">
      <summary>Gets or sets an <see cref="T:Devart.Data.Oracle.OracleDataReader" /> that represents statement resultset. </summary>
      <remarks>Use this property when you set <see cref="P:Devart.Data.Oracle.SqlStatementExecuteEventArgs.StatementStatus" /> to <see cref="F:Devart.Data.Oracle.OracleSqlStatementStatus.SkipStatement" />. </remarks>
      <keywords>SqlStatementExecuteEventArgs.Reader property </keywords>
      <value>An <see cref="T:Devart.Data.Oracle.OracleDataReader" /> object. This property can be null. </value>
    </member>
    <member name="P:Devart.Data.Oracle.SqlStatementExecuteEventArgs.SqlPlusStatementType">
      <summary>Gets type of SQL*Plus statement. </summary>
      <keywords>SqlStatementExecuteEventArgs.SqlPlusStatementType property </keywords>
      <value>One of the <see cref="T:Devart.Data.Oracle.SqlPlusStatementType" /> values. </value>
    </member>
    <member name="P:Devart.Data.Oracle.SqlStatementExecuteEventArgs.StatementStatus">
      <summary>Determines status of the statement and script execution. </summary>
      <remarks>By setting this property you can control what should be done with the statement. </remarks>
      <keywords>SqlStatementExecuteEventArgs.StatementStatus property </keywords>
      <value>One of the <see cref="T:Devart.Data.Oracle.OracleSqlStatementStatus" /> values. The default value is <see cref="F:Devart.Data.Oracle.OracleSqlStatementStatus.Continue" />. </value>
    </member>
    <member name="P:Devart.Data.Oracle.SqlStatementExecuteEventArgs.StatementType">
      <summary>Gets type of the statement. </summary>
      <keywords>SqlStatementExecuteEventArgs.StatementType property </keywords>
      <value>One of the <see cref="T:Devart.Common.SqlStatementType" /> values. </value>
    </member>
    <member name="P:Devart.Data.Oracle.SqlStatementExecuteEventArgs.Text">
      <summary>Gets SQL statement that is about to be executed. </summary>
      <keywords>SqlStatementExecuteEventArgs.Text property </keywords>
      <value>SQL statement. </value>
    </member>
    <member name="T:Devart.Data.Oracle.SqlStatementExecuteEventHandler">
      <summary>Represents the method that will handle the <see cref="E:Devart.Data.Oracle.OracleScript.SqlStatementExecute" /> event of an <see cref="T:Devart.Data.Oracle.OracleScript" />. </summary>
      <remarks>When you create an <see cref="T:Devart.Data.Oracle.SqlStatementExecuteEventHandler" /> delegate, you identify the method that will handle the event. To associate the event with your event handler, add an instance of the delegate to the event. The event handler is called whenever the event occurs, unless you remove the delegate. For more information about event handler delegates, see "Events and Delegates" in the .NET Framework SDK documentation. </remarks>
      <seealso cref="E:Devart.Data.Oracle.OracleScript.SqlStatementExecute" />
      <seealso cref="T:Devart.Data.Oracle.SqlStatementExecuteEventArgs" />
      <keywords>SqlStatementExecuteEventHandler delegate </keywords>
      <param name="sender">The source of the event. </param>
      <param name="e">An <see cref="T:Devart.Data.Oracle.SqlStatementExecuteEventArgs" /> object that contains the event data. </param>
    </member>
    <member name="T:Devart.Data.Oracle.SqlTraceMode">
      <summary>Defines the level of SQL trace for the <see cref="T:Devart.Data.Oracle.OracleTrace" /> component. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.SqlTraceMode.BasicStatistics">
      <summary>BASIC statistics level (no advisories or statistics are collected). </summary>
    </member>
    <member name="F:Devart.Data.Oracle.SqlTraceMode.BindVariables">
      <summary>Bind variables values are collected. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.SqlTraceMode.TimedStatistics">
      <summary>Duration of operation performance is collected. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.SqlTraceMode.Unknown">
      <summary>Unknown mode. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.SqlTraceMode.WaitEvents">
      <summary>Event wait information is collected. </summary>
    </member>
    <member name="T:Devart.Data.Oracle.TraceState">
      <summary>Specifies type of the trace mode in the <see cref="T:Devart.Data.Oracle.OracleTrace" /> component. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.TraceState.PlSqlTrace">
      <summary>SQL trace. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.TraceState.SqlTrace">
      <summary>PL/SQL trace. </summary>
    </member>
    <member name="F:Devart.Data.Oracle.TraceState.Unknown">
      <summary>Unknown state. </summary>
    </member>
  </members>
</doc>